ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

ǶÈëʽLinux½ø³ÌºÍÏ̱߳à³ÌСÊö
2014-11-24 08:20:33 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:0´Î
Tags£ºÇ¶Èëʽ Linux ½ø³Ì Ïß³Ì ±à³Ì

ÏÖÔÚÔÚLinuxÖÐʹÓý϶àµÄ½ø³Ì¼äͨÐÅ·½Ê½Ö÷ÒªÓÐÒÔϼ¸ÖÖ£º¹ÜµÀ¼°ÓÐÃû¹ÜµÀ¡¢Ðźš¢ÏûÏ¢¶ÓÁС¢¹²ÏíÄÚ´æ¡¢ÐźÅÁ¿¡¢Ì×½Ó×Ö¡£


½ø³Ì¿ÉÒÔͨ¹ý3ÖÖ·½Ê½À´ÏìÓ¦Ò»¸öÐźţº


1.ºöÂÔÐźţº¼´¶ÔÐźŲ»×öÈκδ¦Àí¡£µ«ÊÇÓÐÁ½¸öÐźŲ»ÄܺöÂÔ£ºSIGKILL¼°SIGSTOP


2.²¶×½Ðźţº¶¨ÒåÐźŴ¦Àíº¯Êý¡£µ±Ðźŷ¢Éúʱ£¬Ö´ÐÐÏàÓ¦µÄ´¦Àíº¯Êý


3.Ö´ÐÐĬÈϲÙ×÷£ºLinux¶ÔÿÖÖÐźŶ¼¹æ¶¨ÁËĬÈϲÙ×÷¡£


Ò»¸öÍêÕûµÄÐźÅÉúÃüÖÜÆÚ¿ÉÒÔ·ÖΪ3¸÷½×¶Î¡£Õâ3¸ö½×¶ÎÓÉ4¸öÖØÒªÊ¼þÀ´¿Ì»­£ºÐźŲúÉú¡¢ÐźÅÔÚ½ø³ÌÖÐ×¢²á¡¢ÐźÅÔÚ½ø³ÌÖÐ×¢Ïú¡¢Ö´ÐÐÐźŴ¦Àíº¯Êý¡£


ÐźŵĴ¦Àí°üÀ¨Ðźŵķ¢ËÍ¡¢²¶»ñÒÔ¼°ÐźŵĴ¦Àí£º


·¢ËÍÐźŵĺ¯Êý£ºkill¡¢raise¡£


²¶»ñÐźŵĺ¯Êý£ºalarm¡¢pause¡£


ÉèÖÃÐźŴ¦ÀíµÄº¯Êý£ºsignal¡£


¹²ÏíÄÚ´æµÄʵÏÖ·ÖΪ3¸ö²½Ö裺


1.´´½¨¹²ÏíÄڴ棬ÕâÀïÓõ½µÄº¯ÊýÊÇshmget£¬Ò²¾ÍÊÇÔÚÄÚ´æÖлñµÃÒ»¶Î¹²ÏíÄÚ´æÇøÓò¡£


2.Ó³Éä¹²ÏíÄڴ棬Ҳ¾ÍÊǰÑÕâ¶Î´´½¨¹²ÏíÄÚ´æÓ³Éäµ½¾ßÌåµÄ½ø³Ì¿Õ¼äÈ¥£¬ÕâÀïʹÓõĺ¯ÊýÊÇshmat¡£½ÓמͿÉÒÔʹÓÃÕâ¶Î¹²ÏíÄÚ´æÁË£¬¼´¿ÉÒÔʹÓò»´ø»º³åµÄI/O¶ÁдÃüÁî¶ÔÆä²Ù×÷¡£


3.³·ÏúÓ³ÉäµÄ²Ù×÷£¬Æäº¯ÊýΪshmdt.


ÏûÏ¢¶ÓÁеÄʵÏÖ°üÀ¨´´½¨»ò´ò¿ªÏûÏ¢¶ÓÁС¢Ìí¼ÓÏûÏ¢¡¢¶ÁÈ¡ÏûÏ¢ºÍ¿ØÖÆÏûÏ¢¶ÓÁÐÕâ4ÖÖ²Ù×÷¡£


1.´´½¨»ò´ò¿ªÏûÏ¢¶ÓÁÐ


ʹÓú¯Êýmsgget£¬ÕâÀï´´½¨µÄÏûÏ¢¶ÓÁеÄÊýÁ¿»áÊܵ½ÏµÍ³ÏûÏ¢¶ÔÁÐÊýÁ¿µÄÏÞÖÆ¡£


2.Ìí¼Óµ½ÏûÏ¢¶ÔÁÐ


ʹÓú¯Êýmsgsnd£¬Ëü°ÑÏûÏ¢Ìí¼Óµ½ÒÑ´ò¿ªµÄÏûÏ¢¶ÔÁÐĩβ¡£


3.¶ÁÈ¡ÏûÏ¢¶ÔÁÐÄÚÈÝ


ʹÓú¯Êýmsgrcv£¬Ëü°ÑÏûÏ¢´ÓÏûÏ¢¶ÔÁÐÖÐÈ¡×ߣ¬ÓëFIFO²»Í¬µÄÊÇ£¬ÕâÀï¿ÉÒÔÖ¸¶¨È¡×ßijһÀàÐ͵ÄÏûÏ¢¡£


4.¿ØÖÆÏûÏ¢¶ÔÁÐ


ʹÓú¯Êýmsgctl£¬Ëü¿ÉÒÔÍê³É¶àÏÄÜ


ʹÓÃÏß³ÌÖ÷Òª°üÀ¨ÒÔϼ¸¸ö²½Ö裺


1.´´½¨Ïß³Ì


Õâ¸ö²½Öèʵ¼ÊÉϾÍÊÇÈ·¶¨Ïß³ÌËùÒªÖ´Ðеĺ¯Êý£¬ÕâÀïʹÓõĺ¯ÊýÊÇpthread_create.


2.µ÷ÓÃÏà¹ØÏ̺߳¯Êý


ÔÚÏ̴߳´½¨ÒԺ󣬾ͿªÊ¼ÔËÐÐÏà¹ØµÄÏ̺߳¯Êý¡£


3.Ïß³ÌÍ˳ö


ÔÚÏ̵߳÷Óú¯ÊýÔËÐÐÍêÖ®ºó£¬¸ÃÏß³ÌÒ²¾Í×Ô¶¯½áÊøÁË¡£ÁíÍâÒ»ÖÖÍ˳öÏ̵߳ķ½·¨¾ÍÊÇʹÓú¯Êýpthread_exit£¬ÕâÊÇÏ̵߳ÄÖ÷¶¯ÐÐΪ¡£


4.Ïß³Ì×ÊÔ´»ØÊÕ


ÓÉÓÚÒ»¸ö½ø³ÌÖеĶà¸öÏß³ÌÊǹ²ÏíÊý¾Ý¶ÎµÄ£¬Òò´Ëͨ³£ÔÚÏß³ÌÍ˳öºó£¬Í˳öÏß³ÌËùÕ¼ÓõÄ×ÊÔ´²¢²»»áËæ×ÅÏ̵߳ÄÖÕÖ¹¶øµÃµ½ÊÍ·Å¡£ÕýÈç½ø³ÌÖ®¼ä¿ÉÒÔÓÃwaitϵͳµ÷ÓÃÀ´Í¬²½ÖÕÖ¹²¢ÊÍ·Å×ÊÔ´Ò»Ñù£¬Ïß³ÌÖ®¼äÒ²ÓÐÀàËÆ»úÖÆ£¬ÄǾÍÊÇpthread_joinº¯Êý¡£pthread_join¿ÉÒÔÓÃÓÚ½«µ±Ç°Ö÷Ïß³Ì¹ÒÆð£¬µÈ´ý×ÓÏ̵߳ĽáÊø¡£Õâ¸öº¯ÊýÊÇÒ»¸öÏß³Ì×èÈûµÄº¯Êý£¬µ÷ÓÃËüµÄÏ߳̽«Ò»Ö±µÈ´ý±»µÈ´ýµÄÏ߳̽áÊøÎªÖ¹¡£µ±¸Ãº¯Êý·µ»ØÊ±¡¢±»µÈ´ýÏ̵߳Ä×ÊÔ´¾Í±»Êջء£


mutexÏ̷߳ÃÎÊ¿ØÖÆ


ÓÉÓÚÏ̹߳²Ïí½ø³ÌµÄ×ÊÔ´ºÍµØÖ·¿Õ¼ä£¬Òò´ËÔÚ¶ÔÕâЩ×ÊÔ´½øÐвÙ×÷ʱ£¬±ØÐ뿼Âǵ½Ï̼߳ä×ÊÔ´·ÃÎʵÄΨһÐÔÎÊÌ⣬POSIXÖÐÏß³Ìͬ²½µÄ·½·¨Ö÷ÒªÓл¥³âËøºÍÐźÅÁ¿µÄ·½Ê½¡£


»¥³âËø¿ÉÒÔ·ÖΪ¿ìËÙ»¥³âËø¡¢µÝ¹é»¥³âËøºÍ¼ì´í»¥³âËø£¬Õâ3ÖÐËøµÄÇø±ðÖ÷ÒªÔÚÓÚÆäËüδռÓл¥³âËøµÄÏß³ÌÔÚÏ£ÍûµÃµ½»¥³âËøÊ±ÊÇ·ñÐèÒª×èÈûµÈ´ý¡£


»¥³âËøµÄ²Ù×÷Ö÷Òª°üÀ¨ÒÔϼ¸¸ö²½Ö裺


1.»¥³âËø³õʼ»¯£ºpthread_mutex_init.


2.»¥³âËøÉÏËø£ºpthread_mutex_lock.


3.»¥³âËøÅжÏÉÏËø£ºpthread_mutex_trylock.


4.»¥³âËø½ÓËø£ºpthread_mutex_unlock.


5.Ïû³ý»¥³âËø£ºpthread_mutex_destory¡£


ÐźÅÁ¿Ï߳̿ØÖÆ


º¯Êý˵Ã÷£º


1.sem_initÓÃÓÚ´´½¨Ò»¸öÐźÅÁ¿£¬²¢Äܳõʼ»¯ËüµÄÖµ


2.sem_waitºÍsem_trywaitÏ൱ÓÚP²Ù×÷£¬ËüÃǶ¼Äܽ«ÐźÅÁ¿µÄÖµ¼õÒ»£¬Á½ÕßµÄÇø±ðÔÚÓÚÈôÐźÅÁ¿Ð¡ÓÚ0ʱ£¬sem_wait½«»á×èÈû½ø³Ì£¬¶øsem_trywaitÔò»áÁ¢¼´·µ»Ø¡£


3.sem_poseÏ൱ÓÚV²Ù×÷£¬Ëü½«ÐźÅÁ¿µÄÖµ¼Óһͬʱ·¢³öÐźŻ½ÐѵȴýµÄ½ø³Ì¡£


4.sem_getvalueÓÃÓڵõ½ÐźÅÁ¿µÄÖµ


5.sem_destoryÓÃÓÚɾ³ýÐźÅÁ¿


ÊØ»¤½ø³Ì·Ö4¸ö²½Öè´´½¨£º


1.´´½¨×Ó½ø³Ì£¬¸¸½ø³ÌÍ˳ö


2.ÔÚ×Ó½ø³ÌÖд´½¨ÐµĻỰ


3.¸Ä±äµ±Ç°Ä¿Â¼Îª¸ùĿ¼


4.ÖØÉèÎļþȨÏÞÑÚÂë


5¹Ø±ÕÎļþÃèÊö·û


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºAndroidºËÐÄ·ÖÎö ÏÂһƪ£ºLinux Ó¦ÓóÌÐòÀïÃæµ÷ÓÃShell

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Spring Boot Java£º (2025-12-26 16:20:19)
¡¤Spring Boot¤ÇHello (2025-12-26 16:20:15)
¡¤Spring ¤Î»ù±¾¤«¤éŒ (2025-12-26 16:20:12)
¡¤C++Ä£°å (template) (2025-12-26 15:49:49)
¡¤C ÓïÑÔÖÐÄ£°åµÄ¼¸ÖÖ (2025-12-26 15:49:47)