纤程(fiber)是什么?
《Windows Internals》里面说到了一个概念—纤程(fiber)。请问纤程、线程和进程都有何种联系?
[解决办法]
在windows系统上可以不用纤程,它是windows用来兼容一些无线程系统的程序的方案 ,它的一些特性与线程类似,可以通过一个API函数将一个现在的线程转换成纤程,,,
《windows核心编程》中有此章节可去参考
[解决办法]
其实就是协同例程 co-routine,需要用户自己切换
这儿有篇牛文可以参考一下
http://home.macau.ctm.net/~kewei/youbing/coroutine-iterator-in-c.html
163的大话西游里面也大量用到了这个东西。
[解决办法]
好像最大的区别是不需要上下文的切换和线程优先级调度,而是由用户程序自己调度的
把它看作“线程的线程”,fiber对于内核是不可见的,所以也可以视为“用户态线程”
不过很少听见有人用fiber
[解决办法]
简单的说,Fiber就是用户态进程,也就是由用户自己实现多任务管理。
Fiber只在应用程序内部出现和调度,操作系统是不知道fiber的。
很多服务程序是用fiber,我记得Oracle就是用fiber来管理transaction的