#pragma once
#include
#include
#include
using
namespace std;
class
cthread
private
: pthread_t m_pid;
};
#include
"thread.h"
int a =20;
int cthread::
start()
void
* cthread::
threadproc
(void
* pparam)
//在棧上分配記憶體
void
* cthread::
threadproc_1
(void
* pparam)
//在棧上分配記憶體
void
* cthread::
threadproc_2
(void
* pparam)
cout <<
"i am new thread"
<< endl;
sleep(1
);}}
//在堆上分配記憶體
void
* cthread::
threadproc_3
(void
* pparam)
cout <<
"i am new thread"
<< endl;
sleep(1
);}}
// 全域性變數
void
* cthread::
threadproc_4
(void
* pparam)
cout <<
"i am new thread"
<< endl;
sleep(1
);}}
void cthread::
run()}
/*執行緒停止函式:
1- pthread_cancel();執行緒的取消並不是實時的,而是有一定的延時,需要等待執行緒到達某個取消點(檢查點),
pthread_cancel()可以取消同乙個程序中其他執行緒
2- pthread_exit() :終止的執行緒可以呼叫pthread_exit()來終止自己
3- 需要從終止的執行緒中return
如**threadproc_1-4測試所示
*/void cthread::
stop()
else
cout <<
"thread is return,thread id: "
<< m_pid <<
"return code:null\n"
<}
#include
"thread.h"
intmain()
pthread_t tid;
void
* ret;
tid = cthread.
getthreadid()
; cout <<
pthread_join
(tid,
&ret)
; cout <<
"return value: "
<<*(
(int
*)ret)
<< endl;
/*int count = 1;
while (1)
*/return0;
}
Linux下執行緒
此文講述的執行緒為linux下,其執行緒庫函式是由posix標準定義的,稱為posix thread或者pthread。在linux上線程函式位於libpthread共享庫中,因此在編譯時要加上 lpthread選項。建立執行緒 終止執行緒 等待執行緒 三個函式都為pthread.h中定義,其中要注...
Linux下執行緒的操作
01 7 27 上午 10 39 13 介紹在linux下執行緒的建立和基本的使用。linux下的執行緒是乙個非常複雜的問題,由於我對執行緒的學習不時很好,我在這裡只是簡單的介紹執行緒的建立和基本的使用,關於執行緒的高階使用 如執行緒的屬性,執行緒的互斥,執行緒的同步等等問題 可以參考我後面給出的資...
Linux下執行緒實現
1.執行緒概述 程序是系統中程式執行和資源分配的基本單位。每個程序有自己的資料段 段和堆疊段。執行緒通常叫做輕型的程序。執行緒是在共享記憶體空間中併發執行的多道執行路徑,他們共享乙個程序的資源。因為執行緒和程序比起來很小,所以相對來說,執行緒花費更少的cpu資源。2.執行緒建立和退出 在linux中...