我有3个帖子。所有人都同等重视。每个都必须打印“我是线程i”,其中i对应于线程号。如何以输出应该的方式同步它们 我是主题1 我是主题2 我是主题3
如果每个线程的优先级不同,这很容易实现,但如果我想保持相同的优先级,我该如何实现呢?
我是否可以使用任何操作系统原语或任何POSIX机制来实现此目的?
答案 0 :(得分:1)
我认为按照你想要的特定顺序执行线程更多是从学术/学习的角度来看,否则它就会破坏多线程编程的目的。
实现它的方法之一是使用pthread库提供的条件变量。
pthread_cond_wait()
会导致调用线程阻塞某个变量值,一旦达到某个值,就可以使用pthread_cond_signal()
有关使用pthread条件变量显示的描述和代码的简单示例,请参阅this。