码迷,mamicode.com
首页 > 编程语言 > 详细

Linux C多线程学习

时间:2019-06-29 12:48:07      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:turn   mail   pthread   线程   time   多线程   ted   unlock   amp   

/*************************************************************************
    > File Name: eg4.c
    > Author: 
    > Mail: 
    > Created Time: 2019年06月29日 星期六 10时56分11秒
 ************************************************************************/

#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>

pthread_mutex_t lock;
int s = 0;
void* myfunc(void* args){
    int i = 0;
    for(i=0; i<1000000; i++){
        pthread_mutex_lock(&lock);
        s++;
        pthread_mutex_unlock(&lock);
    }
    return NULL;
}
int main(){
    pthread_t th1;
    pthread_t th2;
    pthread_mutex_init(&lock, NULL);

    pthread_create(&th1, NULL, myfunc, NULL);
    pthread_create(&th2, NULL, myfunc, NULL);

    pthread_join(th1, NULL);
    pthread_join(th2, NULL);
    printf("s=%d\n", s);

}

多线程加锁

 

/*************************************************************************
    > File Name: test1.c
    > Author: 
    > Mail: 
    > Created Time: 2019年06月28日 星期五 21时12分51秒
 ************************************************************************/

#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>

void* myfunc(void* args){
    int i;
    char* name = (char*)args;
    for(i=1;i<50;i++){
        printf("%s:%d\n", name, i);
    }

    return NULL;
}


int main(){
    pthread_t th1;
    pthread_t th2;

    pthread_create(&th1, NULL, myfunc, "th1");
    pthread_create(&th2, NULL, myfunc, "th2");
    pthread_join(th1, NULL);
    pthread_join(th2, NULL);

    return 0;
}

 

Linux C多线程学习

标签:turn   mail   pthread   线程   time   多线程   ted   unlock   amp   

原文地址:https://www.cnblogs.com/xjyxp/p/11106085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!