生活札記 首頁 生活札記
提供一個可以讓大家無拘無束的討論園地
 
相簿相簿   常見問題常見問題   搜尋搜尋   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 


主要行程與其產生的Thread之間運作的關係

 
發表新主題   回覆主題    生活札記 首頁 -> C/C++
上一篇主題 :: 下一篇主題  
發表人 內容
luckyhoo



註冊時間: 2006-07-19
文章: 447

發表發表於: 星期一 十二月 15, 2008 9:43 am    文章主題: 主要行程與其產生的Thread之間運作的關係 引言回覆

由測試結果可以發現,主要行程與其產生Thread之間的運作是各自獨立的,但需要注意的是,當主要行程結束執行後,其產生的Thread也會跟著結束執行。


原始程式碼:
代碼:
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> 

void * workthread(void *arg)
{
  int Count=0;

  for(;;Count++)
  {
    printf("thread echo %d times...\n", Count);
    sleep(1);
  }
  return NULL;
}

void main(void)
{
  int Count=0;
  pthread_t theadid;

  if(pthread_create(&theadid, NULL, workthread, NULL)!=0)
    exit(-1);

  for(;;Count++)
  {
    printf("main process echo %d times...\n", Count);
    sleep(10);
  }
}



測試結果:
代碼:
[root@localhost ~]# gcc -pthread threadtest.c -o threadtest
[root@localhost ~]# ./threadtest
main process echo 0 times...
thread echo 0 times...
thread echo 1 times...
thread echo 2 times...
thread echo 3 times...
thread echo 4 times...
thread echo 5 times...
thread echo 6 times...
thread echo 7 times...
thread echo 8 times...
thread echo 9 times...
main process echo 1 times...
thread echo 10 times...
thread echo 11 times...
thread echo 12 times...
thread echo 13 times...
......
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    生活札記 首頁 -> C/C++ 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作