f**w 发帖数: 163 | 1 一个Process set event之后,另一个在等这个Event的Process什么时候get executed?
如何才能让这另一个Process立刻开始处理这个Event?
假设Linux下面。 Windows也可以讨论,不过我老不熟悉。 | C*********r 发帖数: 21 | | H****s 发帖数: 247 | 3 这个用IPC很多种方式应该都可以,如果用socket的话,就是 Process2 watch a
certain port, 等 process 的message 就可以了。
executed?
【在 f**w 的大作中提到】 : 一个Process set event之后,另一个在等这个Event的Process什么时候get executed? : 如何才能让这另一个Process立刻开始处理这个Event? : 假设Linux下面。 Windows也可以讨论,不过我老不熟悉。
| f**w 发帖数: 163 | 4 Socket is way too slow
Interrupt is more of a hardware concept, and needs hardware support, but it
is a possible solution for extreme cases.
这个问题其实涉及到OS 的scheduler。 最好的practice是修改一下Kernel, 在送出
message的process的execute slot之内,主动悬挂,然后通知scheduler立即运行接受
message的那个process。
如果不修改Kernel,也要立即悬挂,希望scheduler能够选中那个正在等的process。否
则,当前process有10ms的time slot, 在第5ms送出message后不悬挂自己,那个
message最快也得再有5ms才能被处理。如果是股票交易,也许千万美金已经易手了,呵
呵。 |
|