如题
IO操作 IO完成 CPU调度
运行-------------->阻塞--------------->就绪------------>运行
如果是的话, 那么C#的单线程的异步是怎么实现的
硬盘是独立的啊。异步IO就是CPU交给硬盘读取数据。然后干别的去。硬盘读完告诉cpu。单线程完全可以搞定的。
嗯 ,我刚查资料才知道IO操作主要分成4种
阻塞IO,非阻塞IO,多路复用IO,异步IO
所以IO操作不是必定会导致线程阻塞。
哎 ,操作系统没好好学哦
@weizhangxiaohan: IO也可能不是从硬盘读文件,也可以是网络中。
@长蘑菇星人: 哦 ,谢谢
什么意思?单线程跟异步有必然联系么?
异步应该可以用多线程实现 ,也可以用单线程实现,我是说如果是单线程的话,遇到IO操作线程就阻塞了的话,那么cpu就不会执行这个线程了,那还是要等到IO完成解除阻塞,那这不就是同步了么。
异步是通过多线程实现的。
异步应该可以用多线程实现 ,也可以用单线程实现,我是说如果是单线程的话,遇到IO操作线程就阻塞了的话,那么cpu就不会执行这个线程了,那还是要等到IO完成解除阻塞,那这不就是同步了么。
哥就喜欢这种刚发的帖子,如果火了就是个前排,可以混个脸熟,说不定谁好心就给粉了…稳赚不赔;如果沉了就感觉是我弄沉的,很有成就感,还能捞经验
-。-