码迷,mamicode.com
首页 > 其他好文 > 详细

thread_17

时间:2014-09-27 02:31:09      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   使用   ar   sp   div   on   

#include <stdlib.h>
#include <pthread.h>
#include <stdio.h>
#include <sched.h>
#include <sched.h>
pthread_mutex_t mu;
void *consumer1(void *p)
 {
         //pthread_mutex_init(&mu, NULL);
      pthread_mutex_lock(&mu);
                printf("get mutex(1)\n");
        pthread_mutex_unlock(&mu);
}
 void *consumer2(void *p)
 {
        //pthread_mutex_init(&mu, NULL);
      pthread_mutex_lock(&mu);
                 printf("get mutex(2)\n");
         pthread_mutex_unlock(&mu);
 }
 int main(int argc, char *argv[])
 {
         pthread_t  t1, t2, t3;
       int ret;

         pthread_mutex_init(&mu, NULL);
                 //pthread_mutex_lock(&mu);
        ret = pthread_create(&t1, NULL, consumer1, NULL);
        ret = pthread_create(&t2, NULL, consumer2,NULL);
         if(ret != 0)
        {
                printf("create failed,%d\n", ret);
                exit(1);
         }
        sleep(11);
       printf("main returned\n");
     return 0;
 }
/*互斥锁在使用前都被初始化,锁已经失去效果。
运行结果:
get mutex(2)
get mutex(1)
main returned*/
/*锁可以被动态或静态创建,可以用宏PTHREAD_MUTEX_INITIALIZER来静态的初始化锁,采用这种方式比较容易理解,互斥锁是pthread_mutex_t的结构体,而这个宏是一个结构常量,如下可以完成静态的初始化锁:

    pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

    另外锁可以用pthread_mutex_init函数动态的创建,函数原型如下:
*/

 

thread_17

标签:style   blog   color   io   使用   ar   sp   div   on   

原文地址:http://www.cnblogs.com/leijiangtao/p/3995838.html

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