LinuxÏÂÀûÓÃÌõ¼þ±äÁ¿ÊµÏÖ¶ÁÐ´Ëø
Ê×ÏȽéÉÜÏÂpthread_cond_t¡£ ÔÚLinuxϳÆÖ®Îª×´Ì¬±äÁ¿£¬ÓëÖ®Ïà¹ØµÄÓÐÏÂÃæ¼¸¸öAPI:
int pthread_cond_init (pthread_cond_t *COND,pthread_condattr_t *cond_ATTR);
int pthread_cond_signal (pthread_cond_t *COND);
int pthread_cond_broadcast (pthread_cond_t *COND);
int pthread_cond_wait (pthread_cond_t *COND, pthread_mutex_t *MUTEX);
int pthread_cond_timedwait (pthread_cond_t *COND, pthread_mutex_t *MUTEX, const struct timespec *ABSTIME);
int pthread_cond_destroy (pthread_cond_t *COND);
ÕâÀï¾Í½²ÏÂ2¸öapi£¬pthread_cond_signalºÍpthread_cond_wait£¬Ò»°ãµÄÓ÷¨ÈçÏ£º
{
pthread_mutex_lock(lock)
...
pthread_cond_wait(cond, lock);
...
pthread_cond_mutex_unlock(lock);
}
pthread_cond_wait»á½âËølock£¬È»ºóÔÚcondÉϵȴý,ÕâÁ½²½ÊÇatomic operation. µ±pthread_cond_wait·µ»ØÊ±£¬»áͬʱ¶ÔlockÉÏËø. ÕâÀïÎÒµÄÀí½âÊÇ£¬Èç¹û»ñÈ¡²»µ½lockËø£¬¼´Ê¹condÒѾ±»¼¤»î£¬pthread_cond_waitÒÀÈ»²»»á·µ»Ø¡£
{
pthread_mutex_lock(lock);
...
pthread_cond_signal(cond);
...
pthread_mutex_unlock(lock);
}
pthread_cond_signalµ÷ÓÃ֮ǰһ¶¨»áÏÈÄõ½lockËø¡£pthread_cond_signal²»»áÈ¥¹ÜlockËø£¬Ö»Êǽ«cond¼¤»î£¬½ÓÏÂÈ¥ÊÍ·ÅlockËø¡£Õâʱºòpthread_cond_wait¾Í¿ÉÒԵõ½lock´Ó¶ø·µ»ØÁË¡£
ÑÔ¹éÕý´«£¬ÏÂÃæÊÇÀûÓÃÌõ¼þ±äÁ¿ÊµÏÖµÄÒ»¸ö¶ÁÐ´ËøµÄÀý×Ó£º
typedef struct pthread_rwlock
{
int active_readers; /* -1 when writer lock locked, >0 when read lock locked */
int pending_readers;
int pending_writers;
pthread_mutex_t mutex;
pthread_cond_t ok_to_read;
pthread_cond_t ok_to_write;
} pthread_rwlock_t ;
int pthread_rwlock_init(pthread_rwlock_t * lock, pthread_rwlockattr_t *attr)
{
active_readers = 0;
pending_readers = 0;
pending_writers = 0;
pthread_mutex_init(&lock->mutex, NULL);
pthread_cond_init(&lock->ok_to_read, NULL);
pthread_cond_init(&lock->ok_to_write, NULL)
Ïà¹ØÎĵµ£º
´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......
PCIÊÇÍâΧÉ豸»¥ÁªµÄ¼ò³Æ(Peripheral Component
Interconnect)µÄ¼ò³Æ£¬×÷ΪһÖÖͨÓõÄ×ÜÏß½Ó¿Ú±ê×¼£¬ËûÔÚ¼ÆËã»úϵͳÖеõ½Á˹㷺µÄʹÓá£PCIµÄËÙ¶ÈÄܹ»´ïµ½132M/s¡£ÔÚÕâÀï¼òµ¥µÄ½é
ÉÜһϠlinux ÏÂPCIÇý¶¯µÄʵÏÖ¡£
ÔÚ±àдһ¸öPCIÇý¶¯µÄʱºòÎÒÃÇÏȵÃÈ·¶¨ÏµÍ³ÖÐÊÇ·ñÓÐÎÒÃǵÄÉ豸¡£ÎÒÃÇ¿ÉÒÔͨ¹ýlspci
²é¿´PCIÉ豸¡£
[roo ......
1¡¢Í¬ÔËÐл·¾³½»»¥
1.1¡¢ÃüÁîÐÐ
µ±Ò»¸ö³ÌÐò´ÓshellÆô¶¯µÄʱºò£¬Æä²ÎÊýÁбí°üÀ¨³ÌÐòÃû³Æ¼°ËùÓеÄÃüÁîÐвÎÊý
% ls -s /
Æä²ÎÊýÁбí°üº¬ÈýÏ
µÚÒ»ÏîÊdzÌÐòÃû³Æls£¬µÚ¶þÏîºÍµÚÈýÏî·Ö±ðÊÇÁ½¸öÃüÁîÐвÎÊý£¬-sºÍ/
mainº¯Êý¿ÉÒÔͨ¹ýargcºÍargvÁ½¸ö²ÎÊýÀ´·ÃÎÊÃüÁîÐвÎÊýÁÐ±í£ºargcÊÇÃüÁîÐвÎÊýµÄ¸öÊý£¬argvÊÇÃüÁîÐвÎÊý×Ö·û´ ......
linux UART´®¿ÚÇý¶¯¿ª·¢Îĵµ
ʱ¼ä:2010-01-09 14:24:55À´Ô´:ÍøÂç ×÷Õß:δ֪ µã»÷:482´Î
ÄÚÈݼò½é: ½éÉÜÁËLinuxϵĴ®¿ÚÇý¶¯µÄÉè¼Æ²ã´Î¼°½Ó¿Ú, ²¢Ö¸³ö´®¿ÚÓëTTYÖÕ¶ËÖ®¼äµÄ¹ØÁª²ã´Î(´®¿Ú¿É×÷TTYÖÕ¶ËʹÓÃ), ÒÔ¼°LinuxϵÄÖжϴ¦Àí»úÖÆ/ÖжϹ²Ïí»úÖÆ, »¹Óд®¿Ú»º³å»úÖÆµ±ÖÐÉæ¼°µÄÈíÖжϻúÖÆ; ÆäÖ ......
ÓÃÁ˽ü10ÄêµÄWindows£¬Í»È»ÓÐÐËȤȥÏëÌåÑéLinux£¬È¥¸ÐÊÜshellµÄ÷ÈÁ¦£¬ÌåÑéÖն˲Ù×÷µÄ¸Ð¾õ£¬¸üÖØÒªµÄÊDZàÒëʹÓÿªÔ´µÄÈí¼þ¡£¶àÉÙÒ²ËãÊÇΪÒÔºóʹÓ÷þÎñÆ÷»òÕßСÐÍ»úÖ®Àà´òµã»ù´¡¡£ÓÚÊÇÕý×°´ý·¢¿ªÊ¼Âþ³¤µÄlinuxÔ¶Õ÷¡£
Õ½ÒÛÒ»: RedHat
ÎÒ£ºÀϰ壬ÓÐLinuxµÄµúô£¿
&nbs ......