【发布时间】:2011-02-10 11:25:10
【问题描述】:
startTrains() -> 总距离 = 100, 火车 = [trainA,trainB], PID = spawn(fun() -> 火车(1,长度(火车))结束), [PID! {self(),TrainData,TotalDist} ||火车数据 error_logger:info_msg("~n 消息 ~p ~n",[消息]) 10500 之后 -> 刷新 结束。
所以,我创建了两个名为 trainA、trainB 的进程。我想将这些过程增加 5 直到达到 100。我制作了不同的过程以使每个火车(过程)并行增加其位置。但是我很惊讶按顺序获得输出,即过程 trainA 结束,然后过程 trainB 开始。但我想同时增加自己。 我想运行这样的进程
trainA 10 trainB 0
trainA 15 trainB 5
....
trainA 100 trainB 100
但我得到了
trainA 0
....
trainA 90
trainA 95
trainA 100
trainA ends
trainB 0
trainB 5
trainB 10
.....
trainB 100
如何使进程并行/同时运行?希望你能得到我的Q。请帮帮我。
【问题讨论】:
标签: erlang process parallel-processing