Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Éú²úÕß Ïû·ÑÕßÎÊÌâʵÏÖ (linuxÏÂCÓïÑÔ)

²Ù×÷ϵͳµÄÒ»¸ö¾­µäÎÊÌâÊÇ"Éú²úÕß-Ïû·ÑÕß"ÎÊÌâ, ÕâÉæ¼°Í¬²½ÐźÅÁ¿ºÍ»¥³âÐźÅÁ¿µÄÓ¦ÓÃ, ÔÚÕâÀï,ÎÒÓÃÏ̵߳Äͬ²½ºÍ»¥³âÀ´ÊµÏÖ.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#define N 2   // Ïû·ÑÕß»òÕßÉú²úÕßµÄÊýÄ¿
#define M 10 // »º³åÊýÄ¿
int in = 0;   // Éú²úÕß·ÅÖòúÆ·µÄλÖÃ
int out = 0; // Ïû·ÑÕßÈ¡²úÆ·µÄλÖÃ
int buff[M] = {0}; // »º³å³õʼ»¯Îª0£¬ ¿ªÊ¼Ê±Ã»ÓвúÆ·
sem_t empty_sem; // ͬ²½ÐźÅÁ¿£¬ µ±ÂúÁËʱ×èÖ¹Éú²úÕ߷ŲúÆ·
sem_t full_sem;   // ͬ²½ÐźÅÁ¿£¬ µ±Ã»²úƷʱ×èÖ¹Ïû·ÑÕßÏû·Ñ
pthread_mutex_t mutex; // »¥³âÐźÅÁ¿£¬ Ò»´ÎÖ»ÓÐÒ»¸öÏ̷߳ÃÎÊ»º³å
int product_id = 0;   //Éú²úÕßid
int prochase_id = 0; //Ïû·ÑÕßid
/* ´òÓ¡»º³åÇé¿ö */
void print()
{
int i;
for(i = 0; i < M; i++)
   printf("%d ", buff[i]);
printf("\n");
}
/* Éú²úÕß·½·¨ */

void *product()
{
int id = ++product_id;
while(1)
{
   // ÓÃsleepµÄÊýÁ¿¿ÉÒÔµ÷½ÚÉú²úºÍÏû·ÑµÄËÙ¶È£¬±ãÓÚ¹Û²ì
   sleep(1);
   //sleep(1);
  
   sem_wait(&empty_sem);
   pthread_mutex_lock(&mutex);
  
   in = in % M;
   printf("product%d in %d. like: \t", id, in);
  
   buff[in] = 1;  
   print();  
   ++in;
  
   pthread_mutex_unlock(&mutex);
   sem_post(&full_sem);  
}
}
/* Ïû·ÑÕß·½·¨ */
void *prochase()
{
int id = ++prochase_id;
while(1)
{
   // ÓÃsleepµÄÊýÁ¿¿ÉÒÔµ÷½ÚÉú²úºÍÏû·ÑµÄËÙ¶È£¬±ãÓÚ¹Û²ì
   sleep(1);
//sleep(1);
  
   sem_wait(&full_sem);
   pthread_mutex_lock(&mutex);
  
   out = out % M;
   printf("prochase%d in %d. like: \t", id, out);
  
   buff[out] = 0;
  


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

ÈçºÎÑ¡Ôñ×îÊʺϵÄLinux°æ±¾

 ×÷Õߣº51cto
http://www.ccw.com.cn 2009-02-27 11:06:03
µ±Äã¶Ô±ðÈË˵£¬“ÎÒÒªÂòÁ¾³µ¡£”ËûÂíÉϾͻáÎÊÄ㣺“ʲô³µ£¿”¸£ÌØ¡¢·áÌï¡¢»¹ÊDZ¾ÌÊÇË«ÃÅÅܳµ¡¢Ð¡½Î³µ¡¢»¹ÊÇÃæ°ü³µ£¿µ±È»£¬»¹ÓÐÆäËûÀàËÆµÄÎÊÌâ¡£
ͬÑù£¬Èç¹ûÄã˵“ÎÒÏë°²×°Linux£¡”Äã»á±»Îʵ½Í¬ÑùµÄÎÊÌ⣺ÄĸöLinu ......

LinuxÖ®¸¸(ÀîÄÉ˹·ÍÐÎÖ×È/Linus Torvalds)

×ÔÓÉÈí¼þ Linux Ö®¸¸£ºÀîÄÉ˹·ÍÐÎÖ×È(Linus Torvalds)
¡¡¡¡µ¼Ó28ËêµÄ·ÒÀ¼ÇàÄêÀîÄÉ˹´´ÔìÁËÒ»¸öȫеÄÊÀ½ç£º¾ÍÊÇÒ»ÖÖÃûΪLinuxµÄ²Ù×÷ϵͳ¡£ËüËù²úÉúµÄÁ¦Á¿¾ö¶¨Á˱à³ÌÁìÓòµÄзÕΧ£¬ÕýÈçÎÒÃǵĻ·¾³¾ö¶¨Á˶¯Ö²ÎïµÄÌØÐÔÒ»Ñù¡£´´Ôì¼ò½àÓÅÑŵijÌÐò£¬Ð´³ö¸É¾»¶øÎÞÈß³¤µÄ´úÂ룬»òÕßÊdz¬Ò»Á÷µÄ³ÌÐò£¬¾Í×ãÒÔÓ®µÃͬÐÐÃǵÄ×ð ......

Linux¶¯Ì¬¿â(.so)ËÑË÷·¾¶

ÔÚLinux ÖУ¬¶¯Ì¬¿âµÄËÑË÷·¾¶³ýÁËĬÈϵÄËÑË÷·¾¶Í⣬»¹¿Éͨ¹ýÈýÖÖ·½·¨À´Ö¸¶¨£º·½·¨Ò»£ºÔÚÅäÖÃÎļþ/etc/ld.so.confÖÐÖ¸¶¨¶¯Ì¬¿âËÑË÷·¾¶£»·½·¨¶þ£ºÍ¨¹ý»·¾³±äÁ¿LD_LIBRARY_PATHÖ¸¶¨¶¯Ì¬¿âËÑË÷·¾¶£»·½·¨Èý£ºÔÚ±àÒëÄ¿±ê´úÂëʱָ¶¨¸Ã³ÌÐòµÄ¶¯Ì¬¿âËÑË÷·¾¶¡£
ÖÚËùÖÜÖª£¬Linux¶¯Ì¬¿âµÄĬÈÏËÑË÷·¾¶ÊÇ/libºÍ/usr/lib¡£¶¯Ì¬¿â±» ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ