您好,登錄后才能下訂單哦!
在C語言中,可以使用POSIX線程庫(pthread)來實現(xiàn)多線程處理
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
#include <pthread.h>
void *print_string(void *arg) {
char *str = (char *)arg;
printf("Thread: %s\n", str);
return NULL;
}
int main() {
pthread_t thread1, thread2;
char *str1 = "Hello from thread 1";
char *str2 = "Hello from thread 2";
// 創(chuàng)建兩個線程
if (pthread_create(&thread1, NULL, print_string, (void *)str1)) {
fprintf(stderr, "Error creating thread 1\n");
return 1;
}
if (pthread_create(&thread2, NULL, print_string, (void *)str2)) {
fprintf(stderr, "Error creating thread 2\n");
return 1;
}
// 等待線程結(jié)束
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
return 0;
}
這個示例中,我們定義了一個名為print_string
的線程函數(shù),它接收一個字符串參數(shù)并打印出來。在main
函數(shù)中,我們創(chuàng)建了兩個線程,分別傳入不同的字符串參數(shù)。然后使用pthread_join
函數(shù)等待這兩個線程結(jié)束。
注意:在多線程環(huán)境下操作共享資源時,需要確保線程安全。對于字符串操作,可以考慮使用互斥鎖(mutex)來保護共享資源。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。