startTrains() - > TotalDist = 100, 列车= [trainA,trainB], PID =产卵(乐趣() - > 列车(1,长度(火车)))结束时, [PID! {self(),TrainData,TotalDist} || TrainData < - 列车], 接收 {_From,MESG} - > error_logger:info_msg( “〜n的MESG〜p〜n的”,[MESG]) 后10500 - > 刷新 端。如何使进程在Erlang中并行运行?
因此,我创建了名为trainA,trainB的两个进程。我想将这些过程增加5,直到它达到100.我制作了不同的过程,以使每个火车(过程)平行地增加其位置。但我很惊讶地得到输出,即过程训练A结束然后过程训练B开始。但我想同时增加自己。 我想这样
trainA 10 trainB 0
trainA 15 trainB 5
....
trainA 100 trainB 100
运行的进程,但我m到处
trainA 0
....
trainA 90
trainA 95
trainA 100
trainA ends
trainB 0
trainB 5
trainB 10
.....
trainB 100
如何使流程并行运行/同步?希望你得到我的Q。请帮帮我。
谢谢TON! :) 你让我今天一整天都感觉很好。我在Erlang为我的大师写了“防碰撞铁路系统”。我想演示我的调度器来模拟火车。是的,你是绝对正确的!我只是创建一个进程并发送两个列车进程来运行(这确实是一个连续运行)。 – iankits 2010-04-21 14:51:56