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

LinuxÏÂÀûÓÃÌõ¼þ±äÁ¿ÊµÏÖ¶ÁÐ´Ëø

Ê×ÏȽéÉÜÏÂpthread_cond_t¡£ ÔÚLinuxϳÆÖ®Îª×´Ì¬±äÁ¿£¬ÓëÖ®Ïà¹ØµÄÓÐÏÂÃæ¼¸¸öAPI:
    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);
ÕâÀï¾Í½²ÏÂ2¸öapi£¬pthread_cond_signalºÍpthread_cond_wait£¬Ò»°ãµÄÓ÷¨ÈçÏ£º
{
    pthread_mutex_lock(lock)
...
    pthread_cond_wait(cond, lock);
...
    pthread_cond_mutex_unlock(lock);
}
pthread_cond_wait»á½âËølock£¬È»ºóÔÚcondÉϵȴý,ÕâÁ½²½ÊÇatomic operation. µ±pthread_cond_wait·µ»ØÊ±£¬»áͬʱ¶ÔlockÉÏËø. ÕâÀïÎÒµÄÀí½âÊÇ£¬Èç¹û»ñÈ¡²»µ½lockËø£¬¼´Ê¹condÒѾ­±»¼¤»î£¬pthread_cond_waitÒÀÈ»²»»á·µ»Ø¡£
{
    pthread_mutex_lock(lock);
...
    pthread_cond_signal(cond);
...
    pthread_mutex_unlock(lock);
}
pthread_cond_signalµ÷ÓÃ֮ǰһ¶¨»áÏÈÄõ½lockËø¡£pthread_cond_signal²»»áÈ¥¹ÜlockËø£¬Ö»Êǽ«cond¼¤»î£¬½ÓÏÂÈ¥ÊÍ·ÅlockËø¡£Õâʱºòpthread_cond_wait¾Í¿ÉÒԵõ½lock´Ó¶ø·µ»ØÁË¡£
ÑÔ¹éÕý´«£¬ÏÂÃæÊÇÀûÓÃÌõ¼þ±äÁ¿ÊµÏÖµÄÒ»¸ö¶ÁÐ´ËøµÄÀý×Ó£º
typedef struct pthread_rwlock
{
int active_readers; /* -1 when writer lock locked, >0 when read lock locked */
int pending_readers;
int pending_writers;
pthread_mutex_t mutex;
pthread_cond_t ok_to_read;
pthread_cond_t ok_to_write;
} pthread_rwlock_t ;
int pthread_rwlock_init(pthread_rwlock_t * lock, pthread_rwlockattr_t *attr)
{
active_readers = 0;
pending_readers = 0;
pending_writers = 0;
pthread_mutex_init(&lock->mutex, NULL);
pthread_cond_init(&lock->ok_to_read, NULL);
pthread_cond_init(&lock->ok_to_write, NULL)


Ïà¹ØÎĵµ£º

LinuxÆô¶¯¹ý³ÌÆÊÎö

LinuxÆô¶¯¹ý³ÌµÄÆÊÎöÄܰïÖúÄÇЩÏëÉîÈëѧϰLinuxÓû§½¨Á¢Ò»¸öÏà¹ØLinuxÆô¶¯¹ý³ÌµÄÇåÎú¸ÅÄ½ø¶ø¿ÉÒÔ½øÒ»²½Ñо¿Linux½ÓÏÂÀ´ÊÇÈçºÎ¹¤×÷µÄ¡£
LinuxÆô¶¯¹ý³ÌÈçÏ£ºµ±Óû§´ò¿ªPCµÄµçÔ´£¬BIOS¿ª»ú×Լ죬°´BIOSÖÐÉèÖÃµÄÆô¶¯É豸(ͨ³£ÊÇÓ²ÅÌ)Æô¶¯£¬½Ó×ÅÆô¶¯É豸Éϰ²×°µÄÒýµ¼³ÌÐò lilo»ògrub¿ªÊ¼Òýµ¼Linux£¬LinuxÊ×ÏȽøÐÐÄں˵ÄÒýµ¼ ......

LinuxϵÄftp¹¤¾ß¼°ÖÐÎÄÂÒÂëµÄ½â¾ö

°²×°gftp
yum install gftp
ĬÈÏ״̬ÏÂgftpÊÇûÓÐÉèÖÃ×Ö·û±àÂëµÄ£¬ËùÒÔÎÒÃÇÉÏFTPµÄʱºò£¬¿´µ½ÀïÃæµÄÖÐÎÄÎļþÃûÈ«²¿ÊÇÂÒÂ룬»òÔò²»²¿·ÖÎļþ¿´µ½Îļþ¼ÐȴûÃû×Ö£»
ÆäʵÔÚgftp-2.0.17ÒÔºóµÄ°æ±¾¶¼ÒѾ­ºÜºÃÖ§³Öºº×ÖÁË£¬ÎÒµÄÉèÖ÷½·¨ÊǶÔËüµÄÅäÖÃÎļþÐ޸ļ´¿É£¡
Ò»°ãµÄÈí¼þÅäÖÃÎļþ»á·ÅÔÚÓû§Ä¿Â¼Ï£¬ÀýÈçÎÒÓÃr ......

perlÔÚlinuxÖÐÕÒ²»µ½½âÊÍÆ÷µÄÎÊÌâ

×î½ü¸Ð½Ó´¥perl£¬¸Ð¾õºÜ²»´í£¬´¦ÀíÎı¾·Ç³£·½±ã¡£Ç°½×¶ÎÓÃcȥͳ¼ÆÒ»Ð©Îı¾£¬ÀÛµÄÒªËÀ£¬¶øÇÒ³ÌÐòÖл¹¾­³£³öbug£»¶øÓÃperlÔò²»Í¬£¬Ëü±ÜÃâµÄ¸´ÔÓµÄÊý¾Ý½á¹¹£¬ÕâÑù³ö´íµÄ¸ÅÂʾͺÜСÁË£¬¶øÇÒ±àд´úÂë¶ÌС¾«º·¡£Ç°Á½Ì콫perlÄõ½linuxÉÏÔËÐУ¬ËäÈ»Ìí¼ÓÁË#!/usr/local/bin/perl£¬µ«»¹ÊÇÌáʾÕÒ²»µ½½âÊÍÆ÷£ºbad interpreter¡£ÓôÃÆÑ½¡ ......

Linux »ã±àÓïÑÔ¿ª·¢Ö¸ÄÏ


developerWorks Öйú
  >  
Linux
  >
Linux »ã±àÓïÑÔ¿ª·¢Ö¸ÄÏ
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td>< ......

LinuxÍøÂçÅäÖÃ

ÍøÂçÅäÖÃ:
¡¡¡¡VMware°²×°ºó»áÓм¸¸öĬÈÏÍø¿¨£¬·Ö±ðÊÇVmnet0£¬Vmnet1ºÍVmnet8£¬³£ÓÃHOST-ONLY£¬BridgeºÍNATÁªÍø·½Ê½¡£±¾ÎĽéÉÜNAT·½Ê½¡£
VmwareÉèÖ㺠 
ÔÚVmwareÉèÖúÃUbuntuµÄÍøÂçÁ¬½Ó·½Ê½£¬Ñ¡ÔñNAT
IPµØÖ·¿ÉÒÔͨ¹ývmware>edit>virtual networking settings ²é¿´£¬ÈçÏÂͼ£º
 
 
NATÉè ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ