作者billyeh (bill)
看板CSSE
标题Re: 以前问过的问题...OS
时间Mon Jul 25 10:55:15 2005
: 推 ykjiang:所以这是针对 server 程式的描述
其实不只是 server 程式,
凡是需要有 asynchronous、non-blocking、concurrent 特性的程式,
通常都会有两种选择:
1. 用 event-driven、callback 的方式,
搭配 state machine 以记录/保留 context
2. 用 thread 方式
: 能否请原贴帮忙解惑一下,
: 如果能举个简单的例子当然更好了 :)
第一种方式, 你可以回想一下 X Window 和 MS Windows 的标准程式写法。
也不妨想想, 哪一种方式比较琐碎。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.23.101
※ 编辑: billyeh 来自: 140.113.23.101 (07/25 10:56)
1F:推 UNARYvvv:记得有种东西叫 asynchronous procedure call.. 61.70.137.117 07/25
2F:→ UNARYvvv:可以应用在 asynchronous I/O 的完成时去呼叫的 61.70.137.117 07/25
3F:→ UNARYvvv:completion routine 61.70.137.117 07/25
4F:→ UNARYvvv:想想确实跟另外开一 thread 完成IO 有明显不同 61.70.137.117 07/25
5F:推 ykjiang:第一种作法比较有效率,事实上我个人感觉也比较뼠 211.20.97.42 07/25
6F:→ ykjiang:亲切些。 211.20.97.42 07/25
7F:→ ykjiang:Java 的 GUI 架构主要也是采用第一种作法, 211.20.97.42 07/25
8F:→ ykjiang:但它也有提供语言层次的 thread 支援 211.20.97.42 07/25
9F:→ ykjiang:所以它们该有各自适用的场合! 211.20.97.42 07/25