中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++ pthread_create函數怎么使用

c++
小億
99
2023-10-31 14:50:24
欄目: 編程語言

在C++中,你可以使用pthread_create函數創建一個新的線程。該函數的聲明如下:

int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);

參數說明:

  • thread:指向pthread_t類型的指針,用于存儲新創建的線程的ID。
  • attr:指向pthread_attr_t類型的指針,用于指定線程的屬性。可以為NULL,表示使用默認屬性。
  • start_routine:指向函數的指針,該函數是新線程要執行的函數。
  • arg:傳遞給start_routine函數的參數。

下面是一個簡單的例子,演示如何使用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。

0
龙海市| 平阳县| 巴彦县| 盐源县| 和林格尔县| 阿拉善盟| 奎屯市| 天峨县| 永城市| 北宁市| 南江县| 古交市| 建德市| 通山县| 小金县| 柳州市| 沛县| 平昌县| 尚义县| 乡宁县| 昌乐县| 景泰县| 邯郸县| 准格尔旗| 新邵县| 仙桃市| 聂拉木县| 桂东县| 安仁县| 嘉定区| 江川县| 辛集市| 通城县| 延边| 常熟市| 靖远县| 襄樊市| 黄平县| 乌拉特中旗| 南丹县| 佛坪县|