描述:
在分机中执行代码块。
语法:
fork ….;hs reduce
备注:
在分机hs中执行fork的代码块。引用到的网格变量(包括格名)将被分发,最终返回值填入fork格中。发生end msg失败时将重新给另一个分机。采用缺省分配方案。
参数:
…. |
参数序列。 |
hs |
分机序列,其中每个服务器的描述均为一个字符串,格式为"地址:端口号",如"192.168.0.86:4001"。 |
reduce |
当任务数大于分机数时,同一分机的作业可以再做reduce动作。上次积累值在fork格,本次计算结果在reduce格。引用到的网格变量将被分发。该参数可省略。 |
示例:
单个参数:
|
A |
B |
|
1 |
fork [[1,20,6,14,5],[32,8]];["192.168.1.100:8989"] |
|
执行fork代码块后,返回多线程的return结果: |
2 |
|
=connect("demo") |
|
3 |
|
=B2.query("select * from EMPLOYEE where EID in (?) ",A1) |
|
4 |
|
=B2.close() |
|
5 |
|
return B3 |
|
|
A |
B |
|
1 |
[192.168.0.116:8281,192.168.0.129:8281] |
|
|
2 |
[English,Math,PE] |
|
|
3 |
fork A2;A1 |
|
参数English、PE分配给分机192.168.0.116:8281,参数Math分配给分机192.168.0.129:8281,A3返回结果如下: |
4 |
|
=connect("demo") |
|
5 |
|
=B4.query("select * from SCORES where SUBJECT=?",A3) |
|
6 |
reduce |
=A3|A6 |
|
多个参数:
|
A |
B |
|
1 |
fork [[1,20,6,14,5],[32,8],[3,4],23,12,89,56,90,231,333,111,231],"F"; ["192.168.1.100:8989","192.168.1.100:8282","192.168.1.100:8283"] |
|
A1返回结果如下: |
2 |
|
=connect("demo") |
|
3 |
|
=B2.query("select * from EMPLOYEE where EID in (?) and GENDER=?",A1(1),A1(2)) |
|
4 |
|
=B2.close() |
|
5 |
|
return B3 |
|
相关概念: