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
Ïà¹ØÎĵµ£º
ÔÎĵØÖ·£ºhttp://wanping.blogbus.com/logs/28663569.html
1¡¢Ê±¼ä´Áת»»ÎªÕý³£ÏÔʾµÄʱ¼ä¸ñʽ
Freebsd
ϵͳÏ£º
ת»»ÃüÁîΪ£º
date -r 1112173761 »òÕߣºdate -r 1112173761 +"%Y-%m-%d %T %z"£¨ÄêÔÂÈյĸñʽ²»Ò»Ñù£©
Linux
ϵͳÏ£º
ת»»ÃüÁdate -d '1970-01-01 UTC 11121 ......
LinuxÄÚºË2.4°æÖÐÈ¥µôÁËÀϰ汾ÄÚºËÖеľ²Ì¬¶¨Ê±Æ÷»úÖÆ£¬¶øÖ»Áô϶¯Ì¬¶¨Ê±Æ÷¡£ÏàÓ¦µØÔÚtimer_bh()º¯ÊýÖÐÒ²²»ÔÙͨ¹ýrun_old_timers()º¯ÊýÀ´ÔËÐÐÀÏʽµÄ¾²Ì¬¶¨Ê±Æ÷¡£¶¯Ì¬¶¨Ê±Æ÷Ó뾲̬¶¨Ê±Æ÷Õâ¶þ¸ö¸ÅÄîÊÇÏà¶ÔÓÚLinuxÄں˶¨Ê±Æ÷»úÖÆµÄ¿ÉÀ©Õ¹¹¦ÄܶøÑԵ쬶¯Ì¬¶¨Ê±Æ÷ÊÇÖ¸Äں˵Ķ¨Ê±Æ÷¶ÓÁÐÊÇ¿ÉÒÔ¶¯Ì¬±ä»¯µÄ£¬È»¶ø¾Í¶¨Ê±Æ÷±¾Éí¶ ......
תÖÁ£º http://dev.yesky.com/412/2639912.shtml
¶ÔÓÚÌṩÁËMMU£¨´æ´¢¹ÜÀíÆ÷£¬¸¨Öú²Ù×÷ϵͳ½øÐÐÄÚ´æ¹ÜÀí£¬ÌṩÐéʵµØÖ·×ª»»µÈÓ²¼þÖ§³Ö£©µÄ´¦ÀíÆ÷¶øÑÔ£¬LinuxÌṩÁ˸´ÔӵĴ洢¹ÜÀíϵͳ£¬Ê¹µÃ½ø³ÌËùÄÜ·ÃÎʵÄÄÚ´æ´ïµ½4GB¡£
¡¡¡¡½ø³ÌµÄ4GBÄÚ´æ¿Õ¼ä±»ÈËΪµÄ·ÖΪÁ½¸ö²¿·Ö--Óû§¿Õ¼äÓëÄں˿ռ䡣Óû§¿Õ¼äµØÖ··Ö²¼´Ó0µ½3GB(P ......
½Ó´¥linuxʱ¼ä»¹²»ÊǺܳ¤,ºÜ¶àÃüÁî¼Ç²»×¡,ºÇºÇ,Äõ½Ð·þÎñÆ÷¿´ÏÂÓ²ÅÌ·ÖÇø $df –lh Îļþϵͳ ÈÝÁ¿ ÒÑÓà ¿ÉÓà ÒÑÓÃ% ¹ÒÔØµã
/dev/sda1 2.0G ......
1.×¼±¸·ÖÇø
ÓÉÓÚSolarisºÍVista(µÄÒýµ¼¼ÓÔØ)±ØÐë°²×°ÔÚÖ÷·ÖÇøÉÏ£¬linuxÊÇ¿ÉÒÔ°´ÔÚÀ©Õ¹·ÖÇøÉϵÄ
ËùÒÔÎÒ°Ñ´ÅÅÌ·Ö³É
30GÖ÷·ÖÇø£º°²×°Vista
27GÖ÷·ÖÇø£º±¾À´Òª°²×°FreeBSD(Ò²±ØÐë°²×°ÔÚÖ÷·ÖÇøÉÏ,µ«ÊÇFreeBSD²»Ö§³ÖÎҵĻú×ÓËùÒÔ·ÅÆú)
135GÀ©Õ¹·ÖÇø£ºÆäÖзֳö40GµÄÂß¼Å̸ ......