Python面试题:朋友遇到的一个问题,自己也没好的解决方法

多进程加线程时进程间通信最好的设计是怎样


Python面试题:朋友遇到的一个问题,自己也没好的解决方法
24 回复

貌似可以看下 Chrome 多进程架构


我无法理解你的问题

我可以背出来:信号、管道、消息队列、共享内存

大哥,这是网易面试的问题,你这只说了方式,谁都能背书啊

这个也太复杂了。。

看通讯涉及到的数据,如果是简单的命令,可以采用信号,消息队列这种。如果有需要操作大量数据的,可以考虑共享内存。如果是在单机上,甚至可以采用文件映射的方式。

仅供参考

我也觉得问题太笼统了,肯定没有完美的模型来处理广泛的问题,谢谢你的答复

可以反问面试官,全中国最好的 IT 公司是哪家。

进程信号注册,pcntl_signal 相关

难道不是 socket 吗?

"最好"这个词说不定是在给你下套, 面试官应该不至于连"没有银弹"都不知道

套接字

难道不是 socket 吗?

看场景吧…Chrome 这种用的是管道, 牺牲内存换速度…

是想让你把各种方式列举出来分析优劣吗?

你问他最好具体是指哪方面呢?有没有一个衡量的标准呢,如果没有,那么怎么得出来的最好呢?

问的是进程间通信,socket。。。没有别的了

最好的设计? 已有技术实现里面?多进程之间 要么内存换性能先复制再修改,要么直接上数据库的事务同步方式。其他的有多少用的?

放在共享内存中的无锁队列

进程通信不用强调线程吧?
socketpair or Local socket ?
openbinder ?

感觉面试官随便找了一个不可能回答出完美答案的问题,随便意思意思,估计他自己都不知道

最好的设计是 tm 的不断迭代出来的

脱离了业务场景问最好的的设计都是耍流氓.

没有最好的设计,只有最适合的场景

回到顶部