linux api±Ê¼Ç£¨4£©£ºỊ̈߳¨¶þ£©
ÕâÒ»½ÚÎÒÃÇÀ´¿´¿´ÆäËûÏ̺߳¯Êý£º
int pthread_tryjoin_np(pthread_t thread_handle, void ** thread_return);
int pthread_timedjoin_np (pthread_t thread_handle, void **thread_return, __const struct timespec *abstime);
pthread_tryjoin_np»á¿ÉÒÔÓÃÀ´ÅжÏthread_handleÖ¸ÏòµÄÏß³ÌÊÇ·ñÒѾÖÐÖ¹£¬Èç¹ûûÓÐÔò*thread_return == NULL,
·ñÔò²»ÎªNULL¡£Õâ¸öº¯Êý²»»á×èÈûÏ̡߳£
pthread_timedjoin_npÒ²ÊÇÓÃÀ´ÅжÏthread_handlerÖ´ÐеÄÏß³ÌÊÇ·ñÒѾÖÐÖ¹£¬²»¹ýËüºÍpthread_tryjoin_np²»Í¬µÄ
µØ·½ÊÇ£¬Ëü»á×èÈûËùÔÚÏß³ÌÒ»¶Îʱ¼äÀ´µÈ´ýÄ¿±êỊ̈߳¬Õâ¸öʱ¼äÓÉabstime²ÎÊýÀ´Ö¸¶¨¡£
timespec½á¹¹µÄÈçÏ£º
#include <time.h>
struct timespec {
time_t tv_sec;
long tv_nsec;
}
×Ö¶Îtv_nsec±íʾÄÉÃë¡£
Ïà¹ØÎĵµ£º
×ªÔØ×Ô
http://www.linux-wiki.cn/index.php/Linux%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84
LinuxĿ¼½á¹¹
´ËÒ³ÓÉLinux WikiÓû§Chenxing
ÓÚ2009Äê1ÔÂ19ÈÕ (ÐÇÆÚÒ»)
05:37µÄ×îºó¸ü¸Ä¡£ ÔÚAllen Lee
µÄ¹¤×÷»ù´¡ÉÏ¡£
³ö×ÔLinux Wiki
ÓëWindows½«Ó²ÅÌ¿´×ö“CÅÌ”¡¢“DÅÌ”¼¸¸ö¶ÀÁ¢µÄ·ÖÇø²»Í¬£¬Linu ......
×î½üÔÚѧϰLinuxϵÄC±à³Ì£¬ÂòÁËÒ»±¾½Ð¡¶Linux»·¾³ÏµÄC±à³ÌÖ¸ÄÏ¡·¶Áµ½makefile¾ÍÔ½¿´Ô½ÃÔºý£¬¿ÉÄÜÊÇÎÒµÄÀí½âÄܲ»ÐС£
ÓÚÊÇgoogleµ½ÁËÒÔÏÂÕâÆªÎÄÕ¡£Í¨Ë×Ò×¶®¡£È»ºó°ÑËüÌù³öÀ´£¬·½±ãѧϰ¡£
& ......
À뿪Õâ¼Ò¹«Ë¾Ò²ÒѾÎåÄê¶àÁË£¬ÔÙ֮ǰÓÐÒ»¸öÅóÓÑÀ뿪ʱ£¬ÎÒ»¹Ì¸µ½ÐÄÖеÄÓ²¼þÀíÏ룬ËûÖ»ÊÇ˵À뿪Ӳ¼þºÜ¶àÄêÖ®ºó¿ÖÅÂÒѾÎÞ·¨»ØÈ¥ÁË£¬µ±Ê±ÎÒËäȻû˵ʲô£¬ÐÄÀﻹÊÇÓÐЩÎÞÄεġ£½ñÌ쵱дµ½ÏÖÔÚµÄʱºò£¬·¢ÏÖÓ²¼þÔÚÎҵŤ×÷ÖÐÒѾ½¥½¥µ»¯ÁË£¬ÊDz»ÊÇËüÕæµÄ²»ÖØÒªÁË£¿
ÓÚÊÇдϽñÌìµÄ±êÌâµÄʱºò£¬¾ö¶¨¼ÓÉÏGNU/Linux£¬ÒòΪËü³ÉΪÁ ......
±¾ÎÄÖн«½²Êölinux»·¾³±à³ÌÖÐÏ̵߳ÄʹÓᣲ»Ëµ·Ï»°Ö±½ÓÉÏ´úÂ룺
#include <pthread.h>
#include <assert.h>
struct ThreadData
{
int i;
};
void * ThreadProc(void* arg)
{
ThreadData* data = static_cast<ThreadData*>(arg);
//do something
pthread_exit(data);
}
int main() ......