关于网友提出的“ java中io操作会使线程阻塞,那IO操作怎么完成”问题疑问,本网通过在网上对“ java中io操作会使线程阻塞,那IO操作怎么完成”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: java中io操作会使线程阻塞,那IO操作怎么完成
描述:
场景:main方法开启工作线程A 执行阻塞式read()操作,A进入阻塞状态直到read()方法返回
疑问:
- 阻塞期间A无法获得cpu时间片,read()操作怎么执行的?
- 为何io操作会使线程阻塞? 我在A线城执行其他耗时操作(比如复杂的数学计算),为何A会一直运行
解决方案1:
看这个就能知道, 阻塞IO在阻塞时候的操作不是在用户线程执行, 而是操作系统来完成(这个时候Java的线程只能等待), 等操作系统那边准备好数据以后用户线程才继续.
以上介绍了“ java中io操作会使线程阻塞,那IO操作怎么完成”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4537133.html