Linux ÏÂÌõ¼þ±äÁ¿
1.»¥³âËøµÄ´æÔÚÎÊÌ⣺
»¥³âËøÒ»¸öÃ÷ÏÔµÄȱµãÊÇËüÖ»ÓÐÁ½ÖÖ״̬£ºËø¶¨ºÍ·ÇËø¶¨¡£ÉèÏëÒ»ÖÖ¼òµ¥Çé¾°£º¶à¸öÏ̷߳ÃÎÊͬһ¸ö¹²Ïí×ÊԴʱ£¬²¢²»ÖªµÀºÎʱӦ¸ÃʹÓù²Ïí×ÊÔ´£¬Èç¹ûÔÚÁÙ½çÇøÀï¼ÓÈëÅжÏÓï¾ä£¬»òÕß¿ÉÒÔÓÐЧ£¬µ«Ò»À´Ð§Âʲ»¸ß£¬¶þÀ´¸´ÔÓ»·¾³Ï¾ÍÄÑÒÔ±àдÁË£¬ÕâÊÇÎÒÃÇÐèÒªÒ»¸ö½á¹¹£¬ÄÜÔÚÌõ¼þ³ÉÁ¢Ê±´¥·¢ÏàÓ¦Ị̈߳¬½øÐбäÁ¿Ð޸ĺͷÃÎÊ¡£
2.Ìõ¼þ±äÁ¿:
Ìõ¼þ±äÁ¿Í¨¹ýÔÊÐíÏß³Ì×èÈûºÍµÈ´ýÁíÒ»¸öÏ̷߳¢ËÍÐźŵķ½·¨ÃÖ²¹ÁË»¥³âËøµÄ²»×㣬Ëü³£ºÍ»¥³âËøÒ»ÆðʹÓá£Ê¹ÓÃʱ£¬Ìõ¼þ±äÁ¿±»ÓÃÀ´×èÈûÒ»¸öỊ̈߳¬µ±Ìõ¼þ²»Âú×ãʱ£¬Ïß³ÌÍùÍù½â¿ªÏàÓ¦µÄ»¥³âËø²¢µÈ´ýÌõ¼þ·¢Éú±ä»¯¡£Ò»µ©ÆäËüµÄij¸öÏ̸߳ıäÁËÌõ¼þ±äÁ¿£¬Ëü½«Í¨ÖªÏàÓ¦µÄÌõ¼þ±äÁ¿»½ÐÑÒ»¸ö»ò¶à¸öÕý±»´ËÌõ¼þ±äÁ¿×èÈûµÄÏ̡߳£ÕâЩÏ߳̽«ÖØÐÂËø¶¨»¥³âËø²¢ÖØÐ²âÊÔÌõ¼þÊÇ·ñÂú×ã¡£
3.Ìõ¼þ±äÁ¿µÄÏà¹Øº¯Êý
Í·Îļþ£º#include <pthread.h>
pthread_cond_t cond = PTHREAD_COND_INITIALIZER; //Ìõ¼þ±äÁ¿½á¹¹
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);
Ïêϸ˵Ã÷£º
£¨1£©´´½¨ºÍ×¢Ïú
Ìõ¼þ±äÁ¿ºÍ»¥³âËøÒ»Ñù£¬¶¼Óо²Ì¬¶¯Ì¬Á½ÖÖ´´½¨·½Ê½
a.¾²Ì¬·½Ê½
¾²Ì¬·½Ê½Ê¹ÓÃPTHREAD_COND_INITIALIZER³£Á¿£¬ÈçÏ£º
pthread_cond_t cond=PTHREAD_COND_INITIALIZER
b.¶¯Ì¬·½Ê½
¶¯Ì¬·½Ê½µ÷ÓÃpthread_cond_init()º¯Êý£¬API¶¨ÒåÈçÏ£º
int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr)
¾¡¹ÜPOSIX±ê×¼ÖÐΪÌõ¼þ±äÁ¿¶¨ÒåÁËÊôÐÔ£¬µ«Ô
Ïà¹ØÎĵµ£º
ÒýÑÔ
find×îÇ¿´ó£¬Ê²Ã´¶¼Äܲ飬¿ÉÒÔ¸ù¾ÝÌõ¼þ²éÕÒÎļþ¡£
whichÖ»Äܲé¿ÉÖ´ÐÐÎļþºÍ±ðÃû(alias)¡£
whereisÖ»Äܲé¶þ½øÖÆÎļþ¡¢ËµÃ÷Îĵµ£¬Ô´ÎļþµÈ£¬¿ÉÒÔÕÒµ½¿ÉÖ´ÐгÌÐòºÍman page¡£
locateÊÇÔÚÊý¾Ý¿âÀï²éÕÒ£¬Êý¾Ý¿â´óÖÁÿÌì¸üÐÂÒ»´Î£¬µ«¸úwhereisÒ»Ñù¶¼ÊDzéÊý¾Ý¿âÀïµÄÄÚÈÝ¡£
1.find /etc -name my.so
2.locate ÊÇÓÃÀ´Í¨¹ý ......
Ò»¡¢±àÒëºÍÁ¬½Ó
Ò»°ãÀ´Ëµ£¬Èç¹û¿âµÄÍ·Îļþ²»ÔÚ /usr/include Ŀ¼ÖУ¬ÄÇôÔÚ±àÒëµÄʱºòÐèÒªÓà -I ²ÎÊýÖ¸¶¨Æä·¾¶¡£ÓÉÓÚͬһ¸ö¿âÔÚ²»Í¬ÏµÍ³ÉÏ¿ÉÄÜλÓÚ²»Í¬µÄĿ¼Ï£¬Óû§°²×°¿âµÄʱºòÒ²¿ÉÒÔ½«¿â°²×°ÔÚ²»Í¬µÄĿ¼Ï£¬ËùÒÔ¼´Ê¹Ê¹ÓÃͬһ¸ö¿â£¬ÓÉÓÚ¿âµÄ·¾¶µÄ²»Í¬£¬Ôì³ÉÁËÓà -I ²ÎÊýÖ¸ ......
ÎÞÂÛÊÇÔÚLinux»¹ÊÇÔÚUnix»·¾³ÖУ¬make¶¼ÊÇÒ»¸ö·Ç³£ÖØÒªµÄ±àÒëÃüÁî¡£²»¹ÜÊÇ×Ô¼º½øÐÐÏîÄ¿¿ª·¢»¹Êǰ²×°Ó¦ÓÃÈí¼þ£¬ÎÒÃǶ¼¾³£ÒªÓõ½
make»òmake
install¡£ÀûÓÃmake¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔ½«´óÐ͵Ŀª·¢ÏîÄ¿·Ö½â³ÉΪ¶à¸ö¸üÒ×ÓÚ¹ÜÀíµÄÄ£¿é£¬¶ÔÓÚÒ»¸ö°üÀ¨¼¸°Ù¸öÔ´ÎļþµÄÓ¦ÓóÌÐò£¬Ê¹ÓÃmakeºÍ
makefile¹¤¾ß¾Í¿ÉÒÔ¼ò½àÃ÷¿ìµØÀí˳¸÷¸öÔ´Îļþ ......
ÈÝÌáÒª
¡¡¡¡±¾ÎÄÒÔRedHat9.0ºÍi386ƽ̨ΪÀý£¬ÆÊÎöÁË´ÓÓû§´ò¿ªµçÔ´Ö±µ½ÆÁÄ»³öÏÖÃüÁîÐÐÌáʾ·ûµÄÕû¸öLinuxÆô¶¯¹ý³Ì¡£²¢ÇÒ½éÉÜÁËÆô¶¯ÖÐÉæ¼°µ½µÄ¸÷ÖÖÎļþ¡£
¡¡¡¡ÔĶÁLinuxÔ´´úÂ룬ÎÞÒÉÊÇÉîÈëѧϰLinuxµÄ×îºÃ·½·¨¡£ÔÚ±¾ÎĶÔLinuxÆô¶¯¹ý³ÌµÄ½éÉÜÖУ¬ÎÒÃÇÒ²³¢ÊÔ´ÓÔ´´úÂëµÄÊÓ½ÇÀ´¸üÉîÈëµÄÆÊÎö
LinuxµÄÆô¶¯¹ý³Ì£¬ËùÒÔÆäÖÐÒ²¼òµ¥Éæ ......
ÒýÑÔ
ÔÚLinux²Ù×÷ϵͳÖУ¬ÓÐÒ»ÏîÌØÊâµÄ¹¦ÄÜ——³õʼ»¯ÄÚ´æÅÌINITRD£¨INITial Ram
Disk£©¼¼Êõ£¬¶øÇÒÄÚºËÖ§³ÖѹËõµÄÎļþϵͳӳÏñ¡£ÓÐÁËÕâÁ½ÏÄÜ£¬ÎÒÃÇ¿ÉÒÔÈÃLinuxϵͳ´ÓСµÄ³õʼ»¯ÄÚ´æÅÌÆô¶¯£¬²¢°ÑϵͳÄÚ´æµÄÒ»²¿·Ö×÷Ϊ¸ùÎļþϵ
ͳ¹ÒÔØ£¬¶øÇÒ²»Ê¹Óý»»»·ÖÇø£¨Èç¹û²»ÔËÐÐX
WindowsÕâÊÇÍêÈ«¿ÉÒԵģ©£¬¼ ......