它们中的每一个都将执行一小段代码,当它们接收到一些数据时,这些代码只是将一个结构复制到一个队列中(一个que代表一个线程,用于无锁)。
我不希望在获取数据的过程中暂停它们,这样我就可以确保时间的一致性(第一次接收第一次获取),并让这个关键部分(获取)尽快执行。
我知道它可以通过一个锁和对所有线程使用单个队列来解决,但我不希望它们中的一些被阻止,等待获得锁。
C++有解决这个问题的方法吗?
我正在linux系统中使用gcc-8.2.0和stl。
事实上,我希望有一个方法,通过它我可以定义代码的“关键部分”。当线程在这样的部分内执行时,它们将永远不会被操作系统挂起/阻止。
对不起,我的英语不好,希望我表达的东西是正确的。
谢谢