liunx中多线程操作实例解析

来源:本站
导读:目前正在解读《liunx中多线程操作实例解析》的相关信息,《liunx中多线程操作实例解析》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《liunx中多线程操作实例解析》的详细说明。
简介:介绍liunx中多线程操作实例解析

自己写的一个小轨范,用来实现liunx中多线程程的挪用.例子清楚易懂

/*

该函数实现了线程的挪用,多线程的用法

*/

#include

#include

#include

#include

#include

void *thread_function(void *arg);

void *thread_function1(void *arg);

char message = "Hello World";

int main() {

int res;

pthread_t a_thread;

void *thread_result;

int thread_num1=0;

int thread_num2=1;

//第一个线程

res = pthread_create(&a_thread, NULL, thread_function, (void *)thread_num1);

if (res != 0) {

perror("Thread creation failed");

exit(EXIT_FAILURE);

}

printf("Waiting for first thread to finish……n");

res = pthread_join(a_thread, &thread_result); //挪用函数thread——function

if (res != 0) {

perror("Thread join failed");

exit(EXIT_FAILURE);

}

printf("First Thread joined, it returned %sn", (char *)thread_result);

printf("Message is now %sn", message);

//第二个线程

res = pthread_create(&a_thread, NULL, thread_function1, (void *)thread_num2);

if (res != 0) {

perror("Thread creation failed");

exit(EXIT_FAILURE);

}

printf("Waiting for second thread to finish……n");

res = pthread_join(a_thread, &thread_result); //挪用函数thread——function

if (res != 0) {

perror("Thread join failed");

exit(EXIT_FAILURE);

}

printf("Second Thread joined, it returned %sn", (char *)thread_result);

printf("Message is now %sn", message);

exit(EXIT_SUCCESS);

}

void *thread_function(void *arg) {

printf("thread function is runningn");

printf("*** &&&& ****n");

strcpy(message, "Bye!");

pthread_exit("Thank you for the CPU time");

}

void *thread_function1(void *arg) {

printf("thread function in second thread is runningn");

sleep(1);

strcpy(message, "Bye!");

pthread_exit("Thank you for the CPU time");}

提醒:《liunx中多线程操作实例解析》最后刷新时间 2024-03-14 01:04:40,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《liunx中多线程操作实例解析》该内容的真实性请自行鉴别。