我有一个包含for循环的方法,并且我有调用该方法的主进程和子进程。
20404 create: 2022-01-14 05:44:10.073
20404 create: 2022-01-14 05:44:10.075
20404 create: 2022-01-14 05:44:10.077
20404 create: 2022-01-14 05:44:10.077
send: 2022-01-14 05:44:10.078
send: 2022-01-14 05:44:10.079
send: 2022-01-14 05:44:10.079
16228 get 2022-01-14 05:44:10.081
11976 get 2022-01-14 05:44:10.081
9692 get 2022-01-14 05:44:10.082
11976 create: 2022-01-14 05:44:10.087
9692 create: 2022-01-14 05:44:10.087
16228 create: 2022-01-14 05:44:10.087
16228 create: 2022-01-14 05:44:10.113
9692 create: 2022-01-14 05:44:10.114
16228 create: 2022-01-14 05:44:10.116
11976 create: 2022-01-14 05:44:10.116
9692 create: 2022-01-14 05:44:10.117
16228 create: 2022-01-14 05:44:10.119
11976 create: 2022-01-14 05:44:10.121
11976 create: 2022-01-14 05:44:10.123
以上是日志,send
是主进程向子进程发送指令的时候。
前四行从主流程中打印出来,每次迭代之间平均2ms
get
是子进程获得指令的时间。
第一个数字是进程id。如您所见:
11976 create: 2022-01-14 05:44:10.087
9692 create: 2022-01-14 05:44:10.087
16228 create: 2022-01-14 05:44:10.087
16228 create: 2022-01-14 05:44:10.113
9692 create: 2022-01-14 05:44:10.114
16228 create: 2022-01-14 05:44:10.116
与其余时间间隔相比,这两次迭代之间的时间间隔是巨大的。你知道为什么会这样吗?
当我第一次创建子进程时,第一次运行总是很慢,所以我必须发送一些伪数据,使它在收到实际数据之前运行几次。这样,当实际的请求数据进入时,迭代之间的时间间隔就会变得很小并且一致。也许这只是一个节点问题