⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pthread.c

📁 linux环境下线程的创建、管理和终止
💻 C
字号:
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

void *mythread1(void *num)
{
	int i;
	for(i = 0; i < 5; i++){
		printf("thread1: %d\n", (int)num);
	}
	pthread_exit((void *)1);
}

void *mythread2(void *str)
{
	int i;
	for(i = 0; i < 5; i++){
		printf("thread2: %s\n", (char *)str);
	}
	pthread_exit((void *)2);
}

int main(int argc, char *argv)
{
	pthread_t pid_1, pid_2;
	void *rtn;
	int i;
	int year = 2008;
	char str[] = "Bjut";
	assert(sizeof(int) <= sizeof(void *));
	assert(sizeof(char *) <= sizeof(void *));
	if(pthread_create(&pid_1, NULL, mythread1, (void *)year) == -1){
		printf("create thread1 error\n");
		exit(1);
	}
	/* for(i = 0; i < 5; i++){ */
	/* 	printf("main thread is waiting...\n"); */
	/* } */
	if(pthread_create(&pid_2, NULL, mythread2, (void *)str) == -1){
		printf("creat thread2 error\n");
		exit(1);
	}	
	pthread_join(pid_1, &rtn);	
	printf("pthread1 exit on status: %d\n", (int)rtn);
	pthread_join(pid_2, &rtn);
	printf("pthread2 exit on status: %d\n", (int)rtn);
	printf("main thread exit\n");
	exit(0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -