在C++中,你可以使用pthread_create函數創建一個新的線程。該函數的聲明如下:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
參數說明:
下面是一個簡單的例子,演示如何使用pthread_create函數創建一個新線程:
#include <pthread.h>
#include <iostream>
void* threadFunc(void* arg) {
int value = *(int*)arg;
std::cout << "Hello from thread! Value = " << value << std::endl;
pthread_exit(NULL);
}
int main() {
pthread_t thread;
int value = 10;
int result = pthread_create(&thread, NULL, threadFunc, &value);
if (result != 0) {
std::cout << "Failed to create thread." << std::endl;
return 1;
}
pthread_join(thread, NULL); // 等待線程執行完畢
return 0;
}
在上面的例子中,我們定義了一個名為threadFunc的函數,作為新線程要執行的函數。在主函數中,我們首先創建了一個pthread_t類型的變量thread,用于存儲新線程的ID。然后,我們創建一個整數變量value,并將其傳遞給pthread_create函數作為參數。最后,我們使用pthread_join函數等待新線程執行完畢。
當運行上述程序時,你將會看到輸出"Hello from thread! Value = 10"。這表明新線程成功地執行了threadFunc函數,并且能夠訪問傳遞給它的參數value。