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

LINUX ¶àÏ̻߳¥³âÁ¿ºÍ¶ÁÐ´ËøÇø±ð


Ï̵߳Äͬ²½, ·¢ÉúÔÚ¶à¸öÏ̹߳²ÏíÏàͬÄÚ´æµÄʱºò, ÕâʱҪ±£Ö¤Ã¿¸öÏß³ÌÔÚÿ¸öʱ¿Ì¿´µ½µÄ¹²ÏíÊý¾ÝÊÇÒ»ÖµÄ. Èç¹ûÿ¸öÏß³ÌʹÓõıäÁ¿¶¼ÊÇÆäËûÏ̲߳»»áʹÓõÄ(read & write), »òÕß±äÁ¿ÊÇÖ»¶ÁµÄ, ¾Í²»´æÔÚÒ»ÖÂÐÔÎÊÌâ. µ«ÊÇ, Èç¹ûÁ½¸ö»òÁ½¸öÒÔÉϵÄÏ߳̿ÉÒÔread/writeÒ»¸ö±äÁ¿Ê±, ¾ÍÐèÒª¶ÔÏ߳̽øÐÐͬ²½, ÒÔÈ·±£ËüÃÇÔÚ·ÃÎʸñäÁ¿Ê±, ²»»áµÃµ½ÎÞЧµÄÖµ, ͬʱҲ¿ÉÒÔΨһµØÐ޸ĸñäÁ¿²¢Ê¹ËüÉúЧ.
    ÒÔÉϾÍÊÇÎÒÃÇËù˵µÄÏß³Ìͬ²½.
    Ïß³Ìͬ²½ÓÐÈýÖÖ³£ÓõĻúÖÆ: »¥³âÁ¿(mutex), ¶ÁÐ´Ëø(rwlock)ºÍÌõ¼þ±äÁ¿(cond).
    »¥³âÁ¿ÓÐÁ½ÖÖ״̬: lockºÍunlock, ËüÈ·±£Í¬Ò»Ê±¼äÖ»ÓÐÒ»¸öÏ̷߳ÃÎÊÊý¾Ý;
    ¶ÁÐ´ËøÓÐÈýÖÖ״̬: ¶Á¼ÓËø, д¼ÓËø, ²»¼ÓËø, Ö»ÓÐÒ»¸öÏ߳̿ÉÒÔÕ¼ÓÐдģʽµÄ¶ÁÐ´Ëø, µ«ÊÇ¿ÉÒÔÓжà¸öÏß³ÌͬʱռÓжÁģʽµÄ¶ÁÐ´Ëø.
    Ìõ¼þ±äÁ¿Ôò¸ø¶à¸öÏß³ÌÌṩÁËÒ»¸ö»áºÏµÄ³¡Ëù, Ó뻥³âÁ¿Ò»ÆðʹÓÃʱ, ÔÊÐíÏß³ÌÒÔÎÞ¾ºÕùµÄ·½Ê½µÈ´ýÌØ¶¨Ìõ¼þµÄ·¢Éú.
»¥³âÁ¿
    »¥³âÁ¿´Ó±¾ÖÊÉÏ˵¾ÍÊÇÒ»°ÑËø, Ìṩ¶Ô¹²Ïí×ÊÔ´µÄ±£»¤·ÃÎÊ.
1. ³õʼ»¯:
    ÔÚLinuxÏÂ, Ï̵߳Ļ¥³âÁ¿Êý¾ÝÀàÐÍÊÇpthread_mutex_t. ÔÚʹÓÃǰ, Òª¶ÔËü½øÐгõʼ»¯:
¶ÔÓÚ¾²Ì¬·ÖÅäµÄ»¥³âÁ¿, ¿ÉÒÔ°ÑËüÉèÖÃΪPTHREAD_MUTEX_INITIALIZER, »òÕßµ÷ÓÃpthread_mutex_init.
¶ÔÓÚ¶¯Ì¬·ÖÅäµÄ»¥³âÁ¿, ÔÚÉêÇëÄÚ´æ(malloc)Ö®ºó, ͨ¹ýpthread_mutex_init½øÐгõʼ»¯, ²¢ÇÒÔÚÊÍ·ÅÄÚ´æ(free)ǰÐèÒªµ÷ÓÃpthread_mutex_destroy.
Ô­ÐÍ:
int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restric attr);
int pthread_mutex_destroy(pthread_mutex_t *mutex);
Í·Îļþ: <pthread.h>
·µ»ØÖµ: ³É¹¦Ôò·µ»Ø0, ³ö´íÔò·µ»Ø´íÎó±àºÅ.
˵Ã÷: Èç¹ûʹÓÃĬÈϵÄÊôÐÔ³õʼ»¯»¥³âÁ¿, Ö»Ðè°ÑattrÉèΪNULL. ÆäËûÖµÔÚÒÔºó½²½â.
2. »¥³â²Ù×÷:
    ¶Ô¹²Ïí×ÊÔ´µÄ·ÃÎÊ, Òª¶Ô»¥³âÁ¿½øÐмÓËø, Èç¹û»¥³âÁ¿ÒѾ­ÉÏÁËËø, µ÷ÓÃÏ̻߳á×èÈû, Ö±µ½»¥³âÁ¿±»½âËø. ÔÚÍê³ÉÁ˶Թ²Ïí×ÊÔ´µÄ·ÃÎʺó, Òª¶Ô»¥³âÁ¿½øÐнâËø.
Ê×ÏÈ˵һϼÓËøº¯Êý:
Í·Îļþ: <pthread.h>
Ô­ÐÍ:
int pthread_mutex_lock(pthread_mutex_t *mutex);
int pthread_mutex_trylock(pthread_mutex_t *mutex);
·µ»ØÖµ: ³É¹¦Ôò·µ»Ø0, ³ö´íÔò·µ»Ø´íÎó±àºÅ.
˵ Ã÷: ¾ßÌå˵һÏÂtrylockº¯Êý, Õâ¸öº¯ÊýÊÇ·Ç×èÈûµ÷


Ïà¹ØÎĵµ£º

Èý¿î Linux ϵÄÃâ·Ñ×ÀÃæ¼¶É±¶¾Èí¼þ(ͼ)


ÓÉÓÚ Linux Á¼ºÃµÄÓû§È¨ÏÞ¹ÜÀíÌåϵ£¬²¡¶¾ÍùÍùÊÇ Linux ϵͳ¹ÜÀíÔ±×îºó²ÅÐèÒª¿¼ÂǵÄÎÊÌâ¡£ÒÔÍù£¬Linux ÉϵÄɱ¶¾Èí¼þÖ÷ÒªÊÇΪÆóÒµµÄÓʼþºÍÎļþ·þÎñÆ÷ËùÉè¼ÆµÄ¡£Èç½ñ£¬Ëæ×Å Linux ×ÀÃæÓû§ÊýÁ¿µÄÔö³¤£¬×ÀÃæÓû§ÔÚÊÜÒæÓÚ Linux ϵͳ¶Ô²¡¶¾½ÏÇ¿µÄÌìÈ»ÃâÒßÁ¦µÄͬʱ£¬Ò²ÐèҪɱ¶¾Èí¼þÇåÀí´ÓÍøÂç»òUÅÌ´øÀ´µÄWIndows²¡¶¾¡£¾¡¹ÜÄÇЩ ......

Ãæ¶Ô²»¶ÏÉý¼¶µÄÄںˣ¬ÈçºÎѧϰlinuxÉ豸Çý¶¯


Ãæ¶Ô²»¶ÏÉý¼¶µÄlinuxÄںˡ¢GNU¿ª·¢¹¤¾ß¡¢linux»·¾³Ïµĸ÷ÖÖͼÐο⣬ºÜ¶àlinuxÓ¦ÓóÌÐò
¿ª·¢ÈËÔ±ºÍlinuxÉ豸Çý¶¯¿ª·¢ÈËÔ±¼´ÐË·Ü£¬ÓÖ·³Ôê¡£Ð˷ܵÄÊÇеÄÈí¼þÈí¼þ¡¢¹¤¾ß¸øÎÒÌṩÁ˸üÇ¿´óµÄ¹¦ÄÜ£¬·³ÔêµÄÊÇÊÊÓ¦ÐÂÈí¼þµÄÌØÐÔ¡¢´î½¨Ð»·¾³ÊÇÒ»Ïî
·Ç³£·±ËöµÄÊÂÇé¡£±¾ÎÄÏë´ÓÒÔÏÂ3¸ö·½ÃæÌ½ÌÖÒ»ÏÂ“Ãæ¶Ô²»¶ÏÉý¼¶µÄÄںˣ¬ÈçºÎÑ ......

linuxÖеĿéÉ豸ºÍ×Ö·ûÉ豸

ϵͳÖÐÄܹ»Ëæ»ú£¨²»ÐèÒª°´Ë³Ðò£©·ÃÎʹ̶¨´óСÊý¾ÝƬ£¨chunks
£©µÄÉ豸±»³Æ×÷¿éÉ豸£¬ÕâЩÊý¾ÝƬ¾Í³Æ×÷¿é¡£×î³£¼ûµÄ
¿éÉ豸
ÊÇÓ²ÅÌ£¬³ý´ËÒÔÍ⣬»¹ÓÐÈíÅÌÇý¶¯Æ÷¡¢CD-ROM
Çý¶¯Æ÷ºÍÉÁ´æµÈµÈÐí¶à
ÆäËû
¿éÉ豸¡£×¢Ò⣬ËüÃǶ¼ÊÇÒÔ°²×°ÎļþϵͳµÄ·½Ê½Ê¹Óõė—ÕâÒ²ÊÇ¿éÉ豸һ°ãµÄ·ÃÎÊ·½Ê½
¡£
ÁíÒ»ÖÖ»ù±¾µÄÉ豸Àà ......

LinuxÄÚºË: ÐÞ¸ÄTCP/IPµ÷ÓŲÎÊý

ÔÚTimesTenµÄÓÅ»¯ÖУ¬Èç¹ûÉæ¼°µ½ Replication »òÕßCache GroupµÄ»°£¬ÄÇôÕë¶Ô TCP/IPÏà¹ØµÄ²ÎÊýµÄÓÅ»¯¶ÔÐÔÄÜÊÇÓÐÒæµÄ¡£ÒòΪËüÃÇÁ©¶¼ÊÇͨ¹ýTCP/IPЭÒé½øÐÐÊý¾Ý½»»¥µÄ¡£ÔÚ°²×°Îĵµ(install.pdf)µÄ39Ò³ÓоßÌåµÄ˵Ã÷£º
 
For replication, TCP send and receive buffers should be increased to a minimum of 512KB. To ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ