Linux Ïß³ÌDetach&Join
1£®µÈ´ýÏß³Ì
pthread_join º¯ÊýÓÃÀ´µÈ´ýÒ»¸öÏ̵߳ĽáÊø£¬ÀàËÆÓÚ½ø³ÌµÄ wait º¯Êý¡£
´Ëº¯Êý½«×èÈûµ÷Óõ±Ç°Ï̵߳Ľø³Ì£¬Ö±µ½´ËÏß³ÌÍ˳ö¡£¼´Õâ¸öº¯ÊýÊÇÒ»¸öÏß³Ì×èÈûµÄº¯Êý£¬µ÷ÓÃËüµÄ½ø³Ì½«Ò»Ö±µÈ´ýµ½±»µÈ´ýµÄÏ߳̽áÊøÎª£¬µ±º¯Êý·µ»ØÊ±£¬´¦ÓÚ±»µÈ´ý״̬µÄÏß³Ì×ÊÔ´±»Êջء£Èç¹ûÖ´Ðгɹ¦£¬½«·µ»Ø 0£¬Èç¹ûʧ°ÜÔò·µ»ØÒ»¸ö·Ç 0¡£´Ëº¯ÊýµÄµÚÒ»¸ö²ÎÊýΪ±»µÈ´ýµÄÏ̱߳êʶ·û£¬´ËֵΪ´´½¨Ïß³Ìʱ·µ»ØµÄÏß³Ì ID£¬´ËÏ̱߳ØÐëͬµ÷ÓÃËüµÄ½ø³ÌÏàÁªÏµ£¬¼´´´½¨¸ÃÏß³Ìʱ²»ÄÜÖ¸Ã÷´ËÏß³ÌΪ¶ÀÁ¢µÄÏ̡߳£µÚ¶þ¸ö²ÎÊýΪһ¸öÓû§¶¨ÒåµÄÖ¸Õ룬ָÏòÒ»¸ö±£´æµÈ´ýÏ̵߳ÄÍêÕûÍ˳ö״̬µÄ¾²Ì¬ÇøÓò£¬Ëü¿ÉÒÔÓÃÀ´´æ´¢±»µÈ´ýÏ̵߳ķµ»ØÖµ£¬Èç¹ûÔÚ´´½¨Ïß³Ìʱ pthread_create º¯ÊýµÄµÚ¶þ¸ö²ÎÊý__attr ÉèÖÃΪ NULL£¬Ôò´ËÍ˳öµÄ״̬ÐÅÏ¢»á¶ªÊ§¡£¹ØÓڵȴýÖ¸¶¨Ï߳̽áÊø£¬ÐèҪעÒâÒÔϼ¸µã£º
£¨1£©Ò»¸öÏß³ÌÖ»ÄܵȴýÁ¬½ÓÒ»¸öÆäËûÏ̡߳£
£¨2£©·¢²¼Á¬½Ó²Ù×÷µÄÏ̲߳»Ò»¶¨ÊdzõʼÏ̡߳£
£¨3£©Èç¹ûÓжà¸öÏ̵߳ȴýͬһÏß³ÌÖ´ÐУ¬Ö»ÓÐÒ»¸öÏß³ÌÄܹ»µÃµ½ÕýÈ·µÄ״̬ÐÅÏ¢¡£
£¨4£©ÓоºÕù¹ØÏµµÄÏ̼߳äµÄÁ¬½Ó²Ù×÷½«·µ»ØÒ»¸ö´íÎó¡£
£¨5£©Èç¹ûÆô¶¯Á¬½ÓµÄÏ̱߳»È¡Ïû£¬Ôò´¦Óڵȴý״̬µÄÏ߳̿ÉÒÔ±»ÆäËûÏ̵߳ȴý¡£
£¨6£©Èç¹ûÄ¿±êÏß³ÌÔÚÖ´ÐÐ pthread_join ǰ½áÊø£¬Ôò¸Ãµ÷Óý«²»»áÒýÆðÈκÎ×èÈû²¢Á¢¼´·µ»Ø¡£
£¨7£©Ò»¸öδ±»Á¬½ÓµÄ·Ç¶ÀÁ¢Ïß³ÌÔÚÏ߳̽áÊøÇ°Ò»Ö±Õ¼ÓÃ×ÊÔ´£¬Ö±µ½´´½¨ËüµÄ½ø³Ì½áÊø¡£
pthread_joinº¯ÊýÉùÃ÷ÈçÏ£º
extern int pthread_join (pthread_t __th, void **__thread_return);
2£®·ÖÀëÏß³Ì
·ÖÀëÏß³ÌÊǵȴýµÄÄæ²Ù×÷¡£pthread_detach ¿âº¯ÊýÒÔÓû²Ù×÷µÄÏß³Ì ID ΪÆäΨһµÄ²ÎÊý¡£Èç¹ûÖ´Ðгɹ¦£¬½«Ê¹¸ÃÏß³ÌÓ뵱ǰ½ø³Ì·ÖÀ룬ʹÆä³ÉΪһ¸ö¶ÀÁ¢µÄỊ̈߳¬²¢·µ»Ø 0£¬µ± threadÖÕֹʱ£¬ÏµÍ³½«×Ô¶¯»ØÊÕËüµÄ×ÊÔ´£»Èç¹ûÖ´ÐÐʧ°Ü£¬½«²»·ÖÀëÖ¸¶¨µÄÏ̲߳¢·µ»Ø·ÇÁãÖµ¡£
pthread_detach º¯ÊýÉùÃ÷ÈçÏ£º
/* Indicate that the thread TH is never to be joined with PTHREAD_JOIN.
The resources of TH will therefore be freed immediately when it terminates, instead
of waiting for another thread to perform PTHREAD_JOIN on it. */
extern int pthread_detach (pthread_t __th) __THROW;
***********************************************
[Ô]ÔÚlinuxÖв鿴Á½¸öº¯Êý£º
find / -name pthread.h -print
cd /usr/include
grep -n 'pthread_join' ./pthread.h
grep -n 'pthread
Ïà¹ØÎĵµ£º
Ò»°ãÀ´Ëµ£¬Ä¿Ç°Ð°æµÄ Linux Ô¤Éè¿ÉÒÔÖ§³ÖµÄÍøÂ翨оƬ×éÊýÁ¿ÒѾºÜÍ걸ÁË£¬ºÜ¶àÍøÂ翨оƬ¶¼ÒѾ±»Ö§³Ö,ÀýÈçRLT 8139 оƬ ( RealTek 8139 ) µÄÍøÂ翨ËùÒÔʹÓÃÕß¿ÉÒÔºÜÇáÒ×µÄÉ趨ºÃËûÃǵÄÍøÂ翨¡£²»¹ý£¬Èç¹ûÍòÒ»²»ÐÒºËÐÄûÓÐÖ§³Ö¸ÃÍøÂ翨µÄ»°£¬ÄÇô¿ÉÒÔ͸¹ýÖØÐ±àÒëºËÐÄ»òÕß±àÒëÍøÂ翨Çý¶¯Ä£¿é ( Modul ......
Òýµ¼£º
ÈçÐè»ñµÃ¶Ô vmlinux ºÍ zimage Ö®¼äÇø±ðµÄ¼«ºÃ½âÊÍ£¬ÇëÔÚ Alessandro Rubini ±àдµÄ“Kernel Configuration: dealing with the unexpected£¨Linux Magazine£©µÄÒ»ÎÄÖÐÕÒµ½“Booting your kernel”Ò»½Ú¡£
ÓйØÄںˡ¢Ó³ÏñºÍÒýµ¼¹ý³ÌµÄ¸ü¶àÐÅÏ¢£¬ÇëÔĶÁÖÐÑëÀ¥Ê¿À¼´óѧ£¨Central Queensland Universit ......
VMwareÖеÄRedHat Eneterprise
Linux 5ϵͳʱ¼ä×ܱÈÖ÷»úµÄWindows XPÂý¡£¼´Ê¹ÓÃdateÃüÁîÉèÖÃLinuxʱ¼äÓëWindows XPʱ¼äÒ»Ö£¬LinuxµÄʱ¼äÈÔ»áÖð½¥µÄÂýÏÂÀ´¡£ÕâÊǺÜÍ·Í´µÄÎÊÌ⣬Èç¹û²»Äܽâ¾ö£¬µ±ÔÚÁ½¸öϵͳ¼ä½»»»Îļþʱ£¬¿ÉÄܻᵼÖ±àÒë³öÏÖÒì³£¡£µçÄÔËùʹÓõÄCPUÊÇIntel Core2 Duo T7250£¬Ö÷Ƶ2.0G£»¶ø ......
LinuxͼÐνçÃæÖпͻ§¶Ë¡¢·þÎñÆ÷¡¢´°¿Ú¹ÜÀíÆ÷Ö®¼äµÄ¹ØÏµ
×÷Õߣº
ÁõºéÌΣ¬»ªÇåÔ¶¼ûǶÈëʽѧԺ
½ðÅÆ½²Ê¦£¬ARM ATCÊÚȨÅàѵ½²Ê¦¡£
ºÜ
¶àLINUX³õѧÕßÔÚѧϰlinuxͼÐη½ÃæµÄ֪ʶʱ»áÓöµ½Ò»Ð©¸ÅÄÈ磺X¡¢X11¡¢Xfree86¡¢WM¡¢KDE¡¢GNOME¡¢QT¡¢QT/E¡¢
Qtopia¡¢DirectFB¡¢Framebuffer¡¢ÏÔ¿¨¼ÓËÙÇý¶¯µÈµÈ¡£Àí½âËüÃÇÖ ......
ÍêÉÆLinuxϵͳ
1.¿ª»ú×Ô¶¯¹ÒÔØwindow·ÖÇø
fedora10ËäÈ»ÄÜ×Ô¶¯¹ÒÔØ,µ«ÊǹÒÔØµÄ·ÖÇøÓÐʱ»á²»ÈϺº×ÖÎļþ¼Ð
´ÓÖÕ¶ËÓÃvi»ògedit´ò¿ª/etc/fstab£¬ÔÚÆäÖÐÌí¼Ó£º
/dev/sda1 /mnt/1 ntfs default 0 0
×¢£ºµÚÒ»ÏîÊÇ·ÖÇøÇý¶¯µØÖ·
......