免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3377 | 回复: 7
打印 上一主题 下一主题

[C] 异步和多线程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-02 09:01 |只看该作者 |倒序浏览
我不是问异步的感念 我想问的是一个读写函数如果是异步的话那她直接返回 继续往下执行 同时那个读写也在执行 那么这样是算两个线程么 都算调用读写函数的进程还是 内核自己搞了个线程读写

论坛徽章:
0
2 [报告]
发表于 2009-04-02 14:00 |只看该作者
读写的内部实质操作被延迟执行,如果是单处理器则,在某个空闲的时候或者某个可执行的机会(比如中断返回后)执行

论坛徽章:
0
3 [报告]
发表于 2009-04-02 15:22 |只看该作者
并没有被延迟执行,主要是现在的系统中很多硬件都是并行的,并不需要CPU的太多参与,不是以前那种轮循方式,例如DMA。当然,内核中还是有部分处理的。

论坛徽章:
0
4 [报告]
发表于 2009-04-03 09:46 |只看该作者
那这样的话异步执行在哪个进程的上下文 原来那个进程已经返回了 可能上下文切换到别的进程了 那么其他进程又不会去执行这个异步的

论坛徽章:
0
5 [报告]
发表于 2009-04-03 09:50 |只看该作者
我告诉内核我要读写一些东西,内核心情不错,所以回答我说:“可以了,我接受了这个请求,你先干你的吧,我做完了以后会通知你的“

论坛徽章:
0
6 [报告]
发表于 2009-04-03 09:58 |只看该作者
我的意思是以什么形式调用执行IO代码呢 一段程序要运行除了以进程方式调用或中断跳到某个地方执行代码 而异步调用IO执行代码 内核难道单独以进程形式去调用这段驱动IO代码么 因为原来那个调用这段IO的进程可能已经结束或在做其他事

论坛徽章:
0
7 [报告]
发表于 2009-04-03 10:07 |只看该作者
有些对IO的操作丢给一个专门的进程去做,但以前操作系统大部分都是留给一个推后执行的执行序去做,此执行序不一定具有进程的形式.在linux内核里有软中断.

论坛徽章:
0
8 [报告]
发表于 2009-04-03 10:13 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP