linux下创建一个多线程实例(Windows环境下,用cygwin编译器,C语言)

本文主要总结用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

猜你喜欢

转载自blog.csdn.net/naibozhuan3744/article/details/80595091