如何使生产者和消费者线程运行交错

时间:2016-01-14 22:00:26

标签: c multithreading pthreads

我想如果我使用pthread并生成两个线程,它们将运行交错,这意味着执行将类似于:

producer

producer

consumer

consumer

producer

consumer

//both producer and consumer finish

然而,我现在得到的是

producer

producer

producer 

//producer finished

consumer

consumer

consumer

//consumer finished

我想知道这应该发生还是看起来我做错了什么?如何实现所需的执行顺序?

1 个答案:

答案 0 :(得分:0)

线程将彼此独立调度。除非您使用机制来交错它们(互斥锁)。