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ʵÑ鱨¸æ4
ÎÒµÄ×÷Òµ 2009-11ÔÂ11
ʵÑ飺ÎļþȨÏÞ¼°Óû§¹ÜÀí
ÐÕ Ãû
ÕÅ¿
ÈονÌʦ
³ÂѩƼ
Ö¸µ¼½Ìʦ
³ÂѩƼ
ʵÑ鵨µã
B203
ʵÑéʱ¼ä
2009Äê11ÔÂ11ÐÇÆÚ ¶þ
Ò»¡¢ÊµÑéÄ¿µÄ
ÒªÇ ......
ÕÆÎÕ¸÷linux ³£ÓÃÃüÁîµÄʹÓÃ
¶þ¡¢ÊµÑé²½Öè¼°½á¹û·ÖÎö
ÒªÇ󣺽«ÊµÑé»ñµÃµÄ½á¹û½øÐÐÃèÊö£¬»ù±¾ÄÚÈݰüÀ¨£º
1. ´ò¿ªlinuxϵͳ,½øÈëÓû§µÇ¼½çÃæ,Èçͼ1
2. ÊäÈëÓû§ÃûºÍÃÜÂë¾Í¿ÉÒÔ½øÈëÎı¾×Ö·û²Ù×÷½çÃæÁ ......
ʵÏÖ³ÌÐòÔÚºǫ́ÔËÐУº
[³ÌÐò] &
µ«Èç¹ûÍüÁËÊäÈë&£¬µ«ÓÖ²»Ïë°Ñ³ÌÐòÍ£Ö¹ºóÖØÐÂÆô¶¯£¬
Äã¿ÉÒÔÕâÑù×ö£º
°´Ctrl+z,ÔÝͣǰ̨¹¤×÷£¬
È»ºóÓÃjobsÃüÁî²é¿´µ±Ç°shellÒ»¹²Æô¶¯Á˶àÉÙºǫ́³ÌÐò£¬Äã¿ÉÒÔ¿´µ½ÄãµÄ³ÌÐòÔÚÆäÖУ¬
ËüµÄ״̬ÊÇstopp ......
1. Ïà¹Øº¯Êý & ......