线程锁的使用

大耗子 2020年02月24日 249次浏览
  • 初始化互斥锁

    pthread_mutex_init(&pthread_queue_idle->mutex,NULL);

  • 初始化条件锁

    pthread_cond_init(&pthread_queue_idle->cond,NULL;

  • 创建线程

    pthread_create(&temp[i]->tid,NULL,child_work,(void *)&temp[i]);

  • 发送信号,解开条件锁

    pthread_cond_signal(&pthread_queue_idle->mutex);

  • 等待信号,解开条件锁
    pthread_cond_wait (&task_queue_head->cond,&task_queue_head->mutex);

  • 监控线程:监控线程的情况,并对不同情况,对线程池进行及时的调整分配

  • 分配任务线程:对任务进行接取操作,将任务与线程进行匹配