本文主要总结用linux的C语言,创建一个多线程实例,编译器用cygwin,是在Windows10下编译,具体的实例如下所述。
1.1用notepad新建一个.c源文件,如下图所示。
multi_thread.c源文件,输入如下代码:
#include<stdio.h>
#include<pthread.h>
#include<string.h>
#include<sys/types.h>
#include<unistd.h>
pthread_t ntid;
void printids(const char *s)
{
pid_t pid;
pthread_t tid;
pid = getpid();
tid = pthread_self();
printf("%s pid %u tid %u (0x%x)\n",s,(unsigned int)pid,(unsigned int)tid,(unsigned int)tid);
}
void *thread(void *arg)
{
printids("new thread:");
return ((void *)0);
}
int main()
{
int temp;
if((temp=pthread_create(&ntid,NULL,thread,NULL)))
{
printf("can't create thread: %s\n",strerror(temp));
return 1;
}
printids("main thread:");
sleep(1);
// pthread_join(ntid,NULL);
return 0;
}
1.2在cygwin编译器中,敲入如下代码:
gcc -o multi_thread multi_thread.c -lpthread
1.3编译后,生成multi_thrad.exe可执行文件,敲入如下代码,执行后输出结果如下图所示:
./multi_thread
参考内容:
https://blog.csdn.net/JiangzhouHe/article/details/70946811(重点参考)
https://blog.csdn.net/laozhuxinlu/article/details/51768298