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

LinuxÏß³Ìͬ²½: »¥³âÁ¿(mutex)

»¥³âÁ¿´Ó±¾ÖÊÉÏ˵¾ÍÊÇÒ»°ÑËø, Ìṩ¶Ô¹²Ïí×ÊÔ´µÄ±£»¤·ÃÎÊ.
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º¯Êý, Õâ¸öº¯ÊýÊÇ·Ç×èÈûµ÷ÓÃģʽ, Ò²¾ÍÊÇ˵, Èç¹û»¥³âÁ¿Ã»±»Ëøס, trylockº¯Êý½«°Ñ»¥³âÁ¿¼ÓËø, ²¢»ñµÃ¶Ô¹²Ïí×ÊÔ´µÄ·ÃÎÊȨÏÞ; Èç¹û»¥³âÁ¿±»ËøסÁË, trylockº¯Êý½«²»»á×èÈûµÈ´ý¶øÖ±½Ó·µ»ØEBUSY, ±íʾ¹²Ïí×ÊÔ´´¦ÓÚæ״̬.
ÔÙ˵һϽâËùº¯Êý:
Í·Îļþ: <pthread.h>
Ô­ÐÍ: int pthread_mutex_unlock(pthread_mutex_t *mutex);
·µ»ØÖµ: ³É¹¦Ôò·µ»Ø0, ³ö´íÔò·µ»Ø´íÎó±àºÅ.
3. ËÀËø:
    ËÀËøÖ÷Òª·¢ÉúÔÚÓжà¸öÒÀÀµËø´æÔÚʱ, »áÔÚÒ»¸öÏß³ÌÊÔͼÒÔÓëÁíÒ»¸öÏß³ÌÏ෴˳ÐòËøס»¥³âÁ¿Ê±·¢Éú. ÈçºÎ±ÜÃâËÀËøÊÇʹÓû¥³âÁ¿Ó¦¸Ã¸ñÍâ×¢ÒâµÄ¶«Î÷.
    ×ÜÌåÀ´½², Óм¸¸ö²»³ÉÎĵĻù±¾Ô­Ôò:
¶Ô¹²Ïí×ÊÔ´²Ù×÷Ç°Ò»¶¨Òª»ñµÃËø.
Íê³É²Ù×÷ÒÔºóÒ»¶¨ÒªÊÍ·ÅËø.
¾¡Á¿¶Ìʱ¼äµØÕ¼ÓÃËø.
Èç¹ûÓжàËø, Èç»ñµÃ˳ÐòÊÇABCÁ¬»·¿Û, ÊÍ·Å˳ÐòÒ²Ó¦¸ÃÊÇABC.
Ï̴߳íÎó·µ»ØʱӦ¸ÃÊÍ·ÅËüËù»ñµÃµÄËø.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <errno.h>
pthread_mutex_t


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

Linux VNCÔ¶³Ì×ÀÃæ

Linux VNCÔ¶³Ì×ÀÃæ
2009-07-27 09:46
VNC£¬È«³ÆΪVirtual Network Computing£¬ÊÇÒ»¸ö×ÀÃæ¹²Ïíϵͳ¡£ËüµÄ¹¦ÄÜ£¬ÀàËÆÓÚwindowsÖеÄÔ¶³Ì ×ÀÃ湦ÄÜ¡£VNCʹÓÃÁËRFB(Remote FrameBuffer£¬Ô¶³ÌÖ¡»º³å£©Ð­ÒéÀ´ÊµÏÖÔ¶³Ì¿ØÖÆÁíÍâһ̨¼ÆËã»ú¡£Ëü°Ñ¼üÅÌ¡¢Êó±ê¶¯×÷·¢Ë͵½Ô¶³Ì¼ÆËã»ú£¬²¢°ÑÔ¶³Ì¼ÆËã»úµÄÆÁÄ»·¢»Øµ½±¾µØ£¬ VNC Viewer¿ÉÒÔº ......

LinuxÉ豸Çý¶¯Ö®USB hubÇý¶¯


------------------------------------------
±¾ÎÄϵ±¾Õ¾Ô­´´,»¶Ó­×ªÔØ!
תÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/
------------------------------------------
Ò»:Ç°ÑÔ
¼ÌUHCIµÄÇý¶¯Ö®ºó,ÎÒÃǶÔUSB ControlµÄÔË×÷ÓÐÁËÒ»¶¨µÄÁ˽â.ÔÚ½ÓÏÂÀ´µÄ·ÖÎöÖÐ,ÎÒÃǶÔUSBÉ豸µÄÇý¶¯×öÒ»¸öÈ«ÃæµÄ·ÖÎö,ÎÒÃÇÏÈ´ÓHUBµÄÇý¶¯ËµÆð.¹ ......

LinuxÏÂSVN°²×°ÅäÖÃÈ«³Ìʵ¼


Ò»¡¢°²×°SVNĬÈÏ°²×°µ½/usr/local/binÏÂÃæ
¶þ¡¢´´½¨²Ö¿â svnadmin create /home/svnrepo
/root/svnrepoΪËù´´½¨²Ö¿âµÄ·¾¶£¬ÀíÂÛÉÏ¿ÉÒÔÊÇÈκÎĿ¼
Èý¡¢ÐÞ¸ÄÅäÖÃÎļþ/home/svnrepo/conf/svnserve.conf
#È¥µô#[general]Ç°ÃæµÄ#ºÅ
[general]
#ÄäÃû·ÃÎʵÄȨÏÞ£¬¿ÉÒÔÊÇread,write,none,ĬÈÏΪread
anon-access = none
......

Linux½ø³Ì¹ÜÀíÖ®CFSµ÷¶ÈÆ÷·ÖÎö

------------------------------------------
±¾ÎÄϵ±¾Õ¾Ô­´´,»¶Ó­×ªÔØ!
תÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/
------------------------------------------
Ò»:Ç°ÑÔ
CFSµ÷¶ÈÔÚ2.6.23°æ±¾µÄkernelÖб»¼ÓÈë.ÒýÓÃIngo
MolnarµÄÒ»¾ä»°:80%µÄÉè¼Æ¿ÉÒÔÓÃÒ»¾ä»°À´¸ÅÀ¨:CFSÖÐÒ»¸ö”ÀíÏëµÄ¶àÈÎÎñ´¦ÀíÆ÷”.Ò² ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ