多线程

来源:互联网 发布:js forech 编辑:程序博客网 时间:2024/06/07 02:17

_REENTRANT宏
通过定义宏_REENTRANT来告诉编译器我们需要可重入功能

#include<stdio.h>#include<stdlib.h>#include<pthread.h>void *thread_function(void *arg);int now_num = 1;int main(){        int res;        pthread_t a_thread;        void *thread_result;        res = pthread_create(&a_thread,NULL,thread_function,(void *)0);        int count = 1;        while(count++ <20){                if(now_num == 1){                        printf("1");                        now_num = 2;                }else{                        sleep(1);                }        }        //等待线程结束         res = pthread_join(a_thread, &thread_result);}void *thread_function(void *arg){        int count = 1;        while(count++ < 20){                if(now_num == 2){                        printf("2");                        now_num = 1;                }else{                        sleep(1);                }        //可不加,主进程退出后 线程也都退出        pthread_exit("i'm exit!");}

这里写图片描述

0 0
原创粉丝点击