我只是偶然发现了Protothread。它们似乎优于本机线程,因为上下文切换是显式的。
我的问题是。让这个多线程编程再次成为一项简单的任务?
(我想是的。但是,我是否遗漏了什么?)
发布于 2009-01-31 09:23:45
他们不是“高人一等”--他们只是不同,适合另一个目的。Protothread是模拟的,因此不是真正的线程。它们不会在多个内核上运行,而且它们都会在单个系统调用(socket recv()等)上阻塞。因此,您不应该将其视为解决所有多线程问题的“银弹”。这样的线程在Java、Ruby和Python中已经存在很长一段时间了。
另一方面,它们是非常轻量级的,所以它们确实让一些任务变得更快更简单。它们适合于小型嵌入式系统,因为它们的代码和内存占用很少。如果您从头开始设计整个系统(包括小型嵌入式设备上的"OS“),协议线程可以提供一种实现并发的简单方法。
也可以在green threads上阅读。
https://stackoverflow.com/questions/498526
复制相似问题