Linux C多线程学习

Posted xjyxp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux C多线程学习相关的知识,希望对你有一定的参考价值。

/*************************************************************************
    > 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多线程学习的主要内容,如果未能解决你的问题,请参考以下文章

Linux C 程序设计多线程基础篇

Linux学习——Gdb基本调试方法&&多线程调试

Linux多线程学习总结

c++11多线程入门<学习记录;

iOS学习——多线程开发(NSThread)

20155321 《信息安全系统设计》Linux多线程的深入学习