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±íʾÄÉÃë¡£
Ïà¹ØÎĵµ£º
1.°²×°°ü
# apt-get install nfs-kernel-server
2.±à¼ÅäÖÃÎļþ
# vim /etc/exports
ÊäÈë /home/myhome/work/ ......
×î½üÔÚѧϰ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() ......
Linux·þÎñÆ÷ÔÚÆô¶¯Ê±ÐèÒªÆô¶¯ºÜ¶àϵͳ·þÎñ£¬ËüÃÇÏò±¾µØºÍÍøÂçÓû§ÌṩÁËLinuxµÄϵͳ¹¦Äܽӿڣ¬Ö±½ÓÃæÏòÓ¦ÓóÌÐòºÍÓû§¡£ÌṩÕâЩ·þÎñµÄ³ÌÐòÊÇÓÉÔËÐÐÔÚºǫ́µÄÊØ»¤½ø³Ì£¨daemons£©À´Ö´Ðеġ£ÊØ»¤½ø³ÌÊÇÉú´æÆÚ³¤µÄÒ»ÖÖ½ø³Ì¡£ËüÃǶÀÁ¢ÓÚ¿ØÖÆÖն˲¢ÇÒÖÜÆÚÐÔµÄÖ´ÐÐijÖÖÈÎÎñ»òµÈ´ý´¦ÀíijЩ·¢ÉúµÄʼþ¡£ËûÃdz£³£ÔÚϵͳÒýµ¼×°ÈëʱÆô¶ ......