Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 NAND FLASHÇý¶¯´úÂë·ÖÎö

FLASHÇý¶¯ÔÚǶÈëʽϵͳÖÐÓÐמÙ×ãÇáÖصÄλÖ㬶øÄ¿Ç°Êг¡ÉÏNAND FLASHµÄ¼Û¸ñÓÖÒª±ãÒËÓëNOR
FLASH,Ëæ×ÅÔ½À´Ô½¶àµÄƽ̨֧³Ö´ÓNAND FLASHÖÐÆô¶¯£¬ÕÆÎÕNAND
flashµÄÇý¶¯±àдÓÐ×ÅÖØÒªµÄÏÖʵÒâÒ壬ÓÉÓÚÄÚºËÒѾ­Íê³ÉÁ˴󲿷ֵŤ×÷£¬Êµ¼Ê¹¤×÷Öд󲿷ֹ¤³Ìʦ¶ÔNAND
FLASHÇý¶¯Ö»ÊǼòµ¥µÄÐ޸ģ¬¶ÔÆ乤×÷Ô­Àí²¢²»Ì«Çå³þ£¬ÏÂÃæÎÒà ......

oracleÏÂÔصØÖ· for linux or windows


Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk1.zip
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk2.zip
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk3.zip
Oracle9i ......

LINUXÍøÂç±à³Ì

      ÍøÂç±à³ÌºÍÆäËû±à³Ì×î´óµÄÇø±ð¾ÍÊÇ£ºÍøÂç±à³ÌÓÉÁ½²¿·Ö×é³É£¬¿Í»§¶ËºÍ·þÎñÆ÷¶Ë¡£ÏÈÆô¶¯·þÎñÆ÷¶Ë¡¢µÈ´ý¿Í»§¶ËµÄ³ÌÐòÔËÐв¢½¨Á¢Á¬½Ó£»Ò»°ãÀ´Ëµ£¬ÊÇ·þÎñÆ÷¶ËµÄ³ÌÐòÔÚÒ»¸ö¶Ë¿ÚÉϼàÌý£¬µÈ´ýÓÐÒ»¸ö¿Í»§¶ËµÄ³ÌÐò·¢À´ÇëÇó¡£
      ÍøÂç±à³Ì»¹ÒªÒýÈëÒ»¸ö¸ÅÄЭÒé¡£ÔÚÍøÂç ......

LinuxÍøÂçÅäÖÃ

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

²Ã¼õ Linux ǶÈëʽϵͳ£º·½·¨ÓëʵÀý

Ô­PDF£º ¡¶縮減 LinuxǶÈëʽϵ統軟體: ·½·¨與實Àý ¡·
×÷ÕߣºÁºÔª±ë ÁÖÓ¯´ï
Áõ½¨ÎÄÕûÀí£¨http://blog.csdn.net/keminlau £©
KEY£ºÇ¶Èëʽ²Ù×÷ϵͳ ²Ã¼õ linux embedded
¹úÁ¢½»Í¨´óѧ×ÊѶ¿Æѧϵ
300 ÐÂÖñÊдóѧ· 1001 ºÅ
Tel: 03-5712121 ext. 56667 Fax: 03-5712121 e ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ