1
Rxianbei 2020-09-14 11:43:05 +08:00 via Android
看程序的特性和作用,部分没区别
|
2
smallpython OP @Rxianbei 可以举一个有区别的例子吗
|
3
learningman 2020-09-14 11:52:55 +08:00
程序开多进程是由这个程序自己调度,而且会有一个主线程
你多开几个。。。没人能保证可用性,万一同时写一个文件,不就得两个崩一个 |
4
BingoXuan 2020-09-14 11:59:48 +08:00
取决于计算资源共享和专属边界。你可以用文本编辑器打开 n 个文档,但每个文本编辑器都是独享各自不同的文档。又或者 n 个 worker 进程进行并行计算,虽然是处理一个计算任务,但实际又是多个进程共同完成的。
|
5
xylophone21 2020-09-14 12:17:05 +08:00
无区别(或者说区别不大):chrome 简化的认为一个 Tab 一个进程 VS IE6 哪种一个页面开一个程序 =》 由于页面和页面间的关系一般不大(除了切换稍微麻烦一点),你可以认为没什么关系
有区别:爬虫,多进程版本会自动分配不同的任务给不同的进程,这其中会有很多协调工作(不重复,失败重分配等) VS 单进程多开几个版本,你要手动的配置每个进程的任务,并且不会协调(快的程序做完了就停了,不会替别的程序干活) |
6
ebingtel 2020-09-15 08:55:56 +08:00
@smallpython 有的 比如 gunicorn 公用一个端口,一个程序开多进程 就比较适合…… 一个程序多运行几个就不适合
|
7
BigBrother1024 2020-09-15 09:58:00 +08:00
system()和 fork()的区别
|
8
smallpython OP 按照这个逻辑来说, 我在命令行下运行的所有程序都是 bash 的子进程是吗
|