91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在ubuntu中使用usleep進行多線程控制

小樊
88
2024-09-07 18:30:49
欄目: 智能運維

在Ubuntu中,你可以使用POSIX線程庫(pthread)來創建多線程程序,并使用usleep函數來控制線程的執行

首先,確保你已經安裝了支持C編程的開發環境。

接下來,創建一個名為thread_usleep.c的C文件,然后將以下代碼復制到該文件中:

#include<stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>

void* thread_function(void *arg) {
    int sleep_time = *((int *)arg);
    printf("Thread started, sleeping for %d microseconds.\n", sleep_time);
    usleep(sleep_time);
    printf("Thread finished.\n");
    return NULL;
}

int main() {
    pthread_t thread1, thread2;
    int sleep_time1 = 500000; // 500ms
    int sleep_time2 = 1000000; // 1s

    // Create the threads
    if (pthread_create(&thread1, NULL, thread_function, &sleep_time1)) {
        printf("Error creating thread 1.\n");
        return 1;
    }

    if (pthread_create(&thread2, NULL, thread_function, &sleep_time2)) {
        printf("Error creating thread 2.\n");
        return 1;
    }

    // Join the threads
    pthread_join(thread1, NULL);
    pthread_join(thread2, NULL);

    printf("All threads finished.\n");
    return 0;
}

這個程序創建了兩個線程,每個線程都會休眠不同的時間(以微秒為單位),然后打印一條消息。

要編譯和運行此程序,請打開終端,導航到包含thread_usleep.c的目錄,并運行以下命令:

gcc -o thread_usleep thread_usleep.c -lpthread
./thread_usleep

這將編譯程序并創建一個名為thread_usleep的可執行文件。然后,運行該可執行文件以查看輸出。

注意:在編譯時,我們需要鏈接-lpthread庫,因為我們使用了POSIX線程函數。

0
肃宁县| 璧山县| 九江市| 门头沟区| 洪洞县| 沽源县| 三门县| 博野县| 卫辉市| 扎鲁特旗| 布拖县| 青田县| 射洪县| 宿迁市| 白银市| 禹州市| 贺兰县| 巴彦淖尔市| 通州市| 丘北县| 灵寿县| 白城市| 东山县| 东乡县| 台山市| 南昌市| 泗阳县| 绍兴县| 饶河县| 湘西| 那曲县| 崇阳县| 弋阳县| 鸡东县| 马尔康县| 巴东县| 定兴县| 九龙坡区| 彩票| 横峰县| 石泉县|