Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道异步套接字编程比同步更具可扩展性。
但是有一点我不太了解:
如果您的事件循环应该是非阻塞的,您如何将耗时的工作委托给另一个线程而不阻塞?工作队列通常需要互斥体来保护。我知道有无锁队列,但这是如何完成的?有人可以给这个东西一点概念吗?
工作线程一直从队列块中拉出。当队列为空时,他们必须这样做。他们还应该做什么?
不应该阻塞的是工作项,因此我们只需要几个队列工作线程。
异步 IO 是关于使用更少的线程。
如果您的事件循环应该是非阻塞的
这个假设是错误的。它不应该不阻塞。循环始终包含阻塞。每次队列为空并且工作人员尝试出队时。