栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言多线程编程之一

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言多线程编程之一

在C语言中可以使用pthread.h的API来创建线程,pthread.h符合POSIX标准,意味可以在Unix和Linux下运行,Windows NT也提供了相应的支持

创建多线程:
#include
#include

void *thread_func(void *args)
{
	printf("This is thread_func");
	return 0;
}

int main()
{
	pthread_t thread;
	if(pthread_create(&thread,NULL,thread_func,NULL))
	{
		printf("creat thread failn");
	}
	else
	{
		printf("creat thread successfulln"); 
	}
	pthread_exit(NULL);
}

关于pthread_create函数,成功的时候返回的为0,失败的时候返回的是1

第一个参数为指向线程标识符的指针

第二个参数为线程属性

第三个参数为函数的起始地址

第四个参数为运行函数的参数,利用第四个参数可以在创建线程的时候向函数中传入参数

向创建的线程中传入参数:
#include
#include

void *thread_func(void *parameter)
{
	printf("This is thread_func,parameter:%s",parameter);
	return 0;
}

int main()
{
	pthread_t thread;
	char* parameter="ok";
	if(pthread_create(&thread,NULL,thread_func,(void *)parameter))
	{
		printf("creat thread failn");
	}
	else
	{
		printf("creat thread successfulln"); 
	}
	pthread_exit(NULL);
}
创建线程池(创建时候传入参数):
#include
#include

#define THREAD_NUM 5

void *thread_func(void *parameter)
{
	printf("This is thread_func,parameter:%dn",parameter);
	return 0;
}

int main()
{
	pthread_t threads[THREAD_NUM];
	for(int i=0;i 
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019044.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号