当前位置: 首页> 汽车> 维修 > 成为网站有哪些网址?_中国物流网站_淘宝seo排名优化_杭州关键词排名提升

成为网站有哪些网址?_中国物流网站_淘宝seo排名优化_杭州关键词排名提升

时间:2025/7/11 23:03:47来源:https://blog.csdn.net/weixin_74154742/article/details/136547557 浏览次数: 0次
成为网站有哪些网址?_中国物流网站_淘宝seo排名优化_杭州关键词排名提升

第1关:互斥锁

void *ThreadHandler(void *arg)

{

    /********** BEGIN **********/

     pthread_mutex_lock(&mutex);

   

    /********** END **********/

    buffer[position] = (char *)arg;

    sleep(1);

    position++;

    /********** BEGIN **********/

      pthread_mutex_unlock(&mutex);

   

    /********** END **********/

    pthread_exit(NULL);

}

第2关:自旋锁

void *ThreadHandler(void *arg)

{

    /********** BEGIN **********/

    pthread_spin_lock(&lock);

   

    /********** END **********/

    buffer[position] = (char *)arg;

    sleep(1);

    position++;

    /********** BEGIN **********/

    pthread_spin_unlock(&lock);

   

    /********** END **********/

    pthread_exit(NULL);

}

 第3关:条件变量

void *ThreadHandler1(void *arg)

{

    int i;

    for(i = 0; i < 3; i++)

    {

        usleep(500);

        position++;

        //通知ThreadHandler2函数执行赋值操作

        /********** BEGIN **********/

        pthread_mutex_lock(&mutex);

        pthread_cond_signal(&cond);

        pthread_mutex_unlock(&mutex);

       

        /********** END **********/

    }

   

    pthread_exit(NULL);

}

/************************

 * 参数arg: 是线程函数的参数

*************************/

void *ThreadHandler2(void *arg)

{

    /********** BEGIN **********/

    pthread_mutex_lock(&mutex);

    while (position == 0)

    {

        pthread_cond_wait(&cond, &mutex);

    }

   

    /********** END **********/

    buffer[position] = (char *)arg;

   

    /********** BEGIN **********/

    pthread_mutex_unlock(&mutex);

   

    /********** END **********/

    pthread_exit(NULL);

}

第4关:项目实战 

void *Consumer(void *arg)

{

    while(1)

    {

        /********** BEGIN **********/

        pthread_mutex_lock(&mutex);

        while(beginData==NULL)

        {

            pthread_cond_wait(&cond,&mutex);

        }

       

        if (beginData->number == -1)

        {

            pthread_mutex_unlock(&mutex);

            pthread_exit(NULL);

        }

        printf("%d\n", beginData->number);

        struct Data *tmp = beginData;

        beginData = beginData->next;

        free(tmp);

        pthread_mutex_unlock(&mutex);

       

        /********** END **********/

    }

   

    pthread_exit(NULL);

}

关键字:成为网站有哪些网址?_中国物流网站_淘宝seo排名优化_杭州关键词排名提升

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: