我正在试验D中的线程和光纤,我想知道是否可以在一个不同的CPU上运行一个光纤,因为主线程正在运行。如果不是这样,那么使用光纤而不是线程的原因是什么呢?(实例非常受欢迎)
我试着用光纤编写一些初始程序,然后在一段时间后切换到下一个光纤。我注意到cpu的使用只停留在一个cpu上。
D的文件规定:
请注意,不需要将纤维绑定到一个特定的线程上。相反,只要当前不执行,纤维就可以自由地在线程之间传递。
这是否意味着,如果我想让光纤使用不同的CPU,就必须提供一个线程来运行它吗?如果是这样的话,我就不明白目的了。
提前感谢!
发布于 2011-09-20 10:07:06
光纤是一种轻量级的协作多任务处理机制,与它们的创建者/调用者在同一个线程中运行。如果需要在不同的CPU上运行任务,请使用线程。光纤的目的是提供快速协作的上下文切换和机制,以实现模式,如协同。
https://stackoverflow.com/questions/7481498
复制相似问题