Linux c 开发-9 一个简单的多线程C程序
#include <pthread.h>
#include <stdio.h>
#include <unistd.h>
void message( void *ptr );
char *message1 = "thread1";
int main()
{
pthread_t thread1;
int ret_thrd1;
void *retval;
ret_thrd1 = pthread_create(&thread1, NULL, (void *)&message, (void *) message1);
int tmp1 = pthread_join(thread1, &retval);
printf("thread start");
sleep(2);
}
void message( void *ptr )
{
int i = 0;
for(i=0;i<5;i++)
{
printf("%d,%s\n",i,(char*)ptr);
}
}
如上是一个简单的多线程程序,新建一个Makefile文件
test.o:test.c gcc test.c -o test.o -lpthread
如果在linux下编译需要加-lpthread,windows下可以不加,另外linux下printf后面要加\n才能及时显示结果。pthread_join相当于Windows C++中的WaitForSingleObject。
编译运行,结果如下

本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。

浙公网安备 33010602011771号