我已經(jīng)在C語言中使用fork()啟動了另一個進程。如何啟動新線程?
3 回答

九州編程
TA貢獻1785條經(jīng)驗 獲得超4個贊
自從您提到fork()以來,我假設(shè)您正在使用類似Unix的系統(tǒng),在這種情況下,您要使用POSIX線程(通常稱為pthreads)。
具體來說,pthread_create()是創(chuàng)建新線程所需的函數(shù)。它的參數(shù)是:
int pthread_create(pthread_t * thread, pthread_attr_t * attr, void *
(*start_routine)(void *), void * arg);
第一個參數(shù)是返回的線程ID指針。第二個參數(shù)是線程參數(shù),除非您要以特定優(yōu)先級啟動線程,否則它可以為NULL。第三個參數(shù)是線程執(zhí)行的函數(shù)。第四個參數(shù)是執(zhí)行時傳遞給線程函數(shù)的單個參數(shù)。

倚天杖
TA貢獻1828條經(jīng)驗 獲得超3個贊
線程不是C標準的一部分,因此使用線程的唯一方法是使用某些庫(例如:Unix / Linux中的POSIX線程,_beginthread / _beginthreadex,如果您想使用該線程中的C運行時或僅使用CreateThread Win32 API)
- 3 回答
- 0 關(guān)注
- 721 瀏覽
添加回答
舉報
0/150
提交
取消