您当前的位置: 首页 >  linux

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Linux的互斥锁、条件锁的用法

柳鲲鹏 发布时间:2018-09-05 09:10:52 ,浏览量:0

  举例来说,这边从某处读取数据到缓冲区,那边将缓冲区数据进行处理。  

pthread_cond_t  data_cond;
pthread_mutex_t data_mutex;

#define DATA_SIZE 4096
int   data_flag = 0;
int   data_size = 0;
char  data_buffer[DATA_SIZE];


void read_to_databuffer()
{
    //init fd
    while (1)
    {
        //已读取的数据还没有被处理,等待。或者用另外的条件锁?
        while (data_flag == 1)
        {
            usleep(1000);
            continue;
        }

        pthread_mutex_lock(&data_mutex);

        data_size = read(fd, data_buffer, DATA_SIZE);

        //已经没有数据,中断。
        if (data_size             
关注
打赏
1665724893
查看更多评论
0.0550s