LinuxÐźÅÁ¿Ï߳̿ØÖÆ
Ïß³ÌÖл¥³âËøµÄʹÓ㬴ﵽ¶Ô¹²Ïí×ÊÔ´»¥³âʹÓᣳýÁËʹÓû¥³âËø£¬ÐźÅÁ¿£¬Ò²¾ÍÊDzÙ×÷ϵͳÖÐËùÌáµ½µÄPVÔÓÄÜ´ïµ½»¥³âºÍͬ²½µÄЧ¹û£¬Õâ¾ÍÊǽñÌìÎÒÃÇËùÒª½²ÊöµÄÐźÅÁ¿Ï߳̿ØÖÆ¡£
PVÔÓïÊǶÔÕûÊý¼ÆÊýÆ÷ÐźÅÁ¿semµÄ²Ù×÷£¬Ò»´ÎP²Ù×÷¿Éʹsem¼õÒ»£¬¶øÒ»´ÎV²Ù×÷¿ÉÊÇsem¼ÓÒ»¡£½ø³Ì£¨»òỊ̈߳©¸ù¾ÝÐźÅÁ¿µÄÖµÀ´ÅжÏÊÇ·ñ¶Ô¹«¹²×ÊÔ´¾ßÓзÃÎÊȨÏÞ¡£µ±ÐźÅÁ¿µÄÖµ´óÓÚÁã»òµÈÓÚÁãµÄʱºò£¬¸Ã½ø³Ì£¨»òỊ̈߳©¾ßÓжԹ«¹²×ÊÔ´·ÃÎʵÄȨÏÞ£¬·ñÔò£¬µ±ÐźÅÁ¿µÄֵСÓÚʱ£¬¸Ã½ø³Ì£¨»òỊ̈߳©¾Í»á±»×èÈû£¬Ö±µ½ÐźÅÁ¿µÄÖµ´óÓÚ»òµÈÓÚÒ»¡£
1¡¢ÔÚLINUXÖУ¬ÊµÏÖÁËPOSIXµÄÎÞÃûÐźÅÁ¿£¬Ö÷ÒªÓÃÓÚÏ̼߳äµÄ»¥³âͬ²½£¬ÏÂÃ潫¼òµ¥½éÉÜһЩº¯Êý½Ó¿Ú£º
£¨1£©¡¢sem_init
¹¦ÄÜ£º ÓÃÓÚ´´½¨Ò»¸öÐźÅÁ¿£¬²¢³õʼ»¯ÐźÅÁ¿µÄÖµ¡£
Í·Îļþ£º <semaphore.h>
º¯ÊýÔÐÍ£º int sem_init (sem_t* sem, int pshared, unsigned int value);
º¯Êý´«ÈëÖµ£º sem:ÐźÅÁ¿¡£
pshared:¾ö¶¨ÐźÅÁ¿ÄÜ·ñÔÚ¼¸¸ö½ø³Ì¼ä¹²Ïí¡£ÓÉÓÚÄ¿Ç°LINUX»¹Ã»ÓÐʵÏÖ½ø
³Ì¼ä¹²ÏíÐÅÏ¢Á¿£¬ËùÒÔÕâ¸öÖµÖ»ÄÜÈ¡0¡£
º¯Êý·µ»ØÖµ£º 0£º³É¹¦¡£
-1£ºÊ§°Ü¡£
£¨2£©ÆäËûº¯Êý¡£
int sem_wait (sem_t* sem);
int sem_trywait (sem_t* sem);
int sem_post (sem_t* sem);
int sem_getvalue (sem_t* sem);
int sem_destroy (sem_t* sem);
¹¦ÄÜ£ºsem_waitºÍsem_trywaitÏ൱ÓÚP²Ù×÷£¬ËüÃǶ¼Äܽ«ÐźÅÁ¿µÄÖµ¼õÒ»£¬Á½ÕßµÄÇø±ðÔÚ
ÓÚÈôÐźÅÁ¿µÄֵСÓÚÁãʱ£¬sem_wait½«»á×èÈû½ø³Ì£¬¶øsem_trywaitÔò»áÁ¢¼´·µ»Ø¡£
sem_postÏ൱ÓÚV²Ù×÷£¬Ëü½«ÐźÅÁ¿µÄÖµ¼ÓÒ»£¬Í¬Ê±·¢³
Ïà¹ØÎĵµ£º
ÃüÁîÐÐ
¡¡¡¡ ¡¡¡¡Óû§µÇ¼µ½Linuxϵͳʱ£¬¿ÉÒÔ¿´µ½Ò»¸öshellÌáʾ·û£¬±êʶÁËÃüÁîÐеĿªÊ¼¡£Óû§¿ÉÒÔÔÚÌáʾ·ûºóÃæÊäÈëÈκÎÃüÁî¼°²ÎÊý¡£ÀýÈ磺
¡¡¡¡
¡¡¡¡$ date
¡¡¡¡
¡¡¡¡¶þ 11 23 01:34:58 CST 1999
¡¡¡¡
¡¡¡¡$
¡¡¡¡
¡¡¡¡Óû§µÇ¼ʱ£¬Êµ¼Ê½øÈëÁËshell£¬Ëü×ñÑÒ»¶¨ ......
LinuxʵÑ鱨¸æ3
ÎÒµÄ×÷Òµ 2009 11-10
ʵÑ飺VI±à¼Æ÷
ÐÕ Ãû
ÕÅ¿
ʵÑéµØµã
A605
ʵÑéʱ¼ä
2009 11ÔÂ10 ÐÇÆÚ¶þ
Ò»¡¢ÊµÑéÄ¿µÄ
ÒªÇó£ºÔËÓñà¼Æ÷ÊìÁ·ÕÆÎÕÎı¾±à¼µÄÃüÁî
&nbs ......
ÔÚÉÏһƪÎÄÕÂÖжÔÏ߳̽øÐÐÁ˼òµ¥µÄ¸ÅÊö£¬ËüÔÚϵͳÖкͱà³ÌµÄÓ¦ÓÃÖУ¬°çÑݵĽÇÉ«ÊDz»ÑÔ¶øÓ÷µÄ¡£Ñ§Ï°Ëü¡¢ÕÆÎÕËü¡¢³Ô͸ËüÊÇ×÷Ϊһ¸ö³ÌÐòÔ±µÄ±ØÐë×÷Ϊ¡£ÔÚ½ÓÏÂÀ´µÄ½²ÊöÖУ¬ËùÓÐÏ̵߳IJÙ×÷¶¼ÊÇÓû§¼¶µÄ²Ù×÷¡£ÔÚLINUXÖУ¬Ò»°ãpthreadÏ߳̿âÊÇÒ»Ì×ͨÓõÄÏ߳̿⣬ÊÇÓÉPOSIXÌá³öµÄ£¬Òò´ËËûµÄÒÆÖ²ÐÔÊǷdz£ºÃµÄ¡£
& ......
1. Ïà¹Øº¯Êý & ......