fork A i ,…

阅读(712) 标签: 多线程, 执行代码块,

描述:

使用多线程执行本网格中的代码块。

语法:

fork  Ai,…

备注:

Ai为序列参数,其长度决定并行线程数,其中单值参数将被复制成序列。将当前执行的网格及上下文复制出多份,用多线程分别执行,参数将被拆分后填入各线程的本格值代码块的返回值构成序列填入fork格中。

代码块中使用#c表示并行序号。

参数:

Ai

序列。

示例:

单个参数:

 

A

B

 

1

fork [[1,20,6,14,5],[32,8]]

 

执行fork代码块后,返回多线程的return结果:

2

 

=connect("demo")

 

3

 

=B2.query("select * from EMPLOYEE where EID in (?) ",A1)

EID为参数

4

 

=B2.close()

 

5

 

return B3

 

多个参数:

 

A

B

 

1

fork [[1,20,6,14,5],[32,8]],"F"

 

执行fork代码块后,返回多线程的return结果:

2

 

=connect("demo")

 

3

 

=B2.query("select * from EMPLOYEE where EID in (?) and GENDER=?",A1(1),A1(2))

EID为第一个序列参数,GENDER为第二个序列参数。

4

 

=B2.close()

 

5

 

return B3

 

使用并行序号:

 

A

B

 

1

=file("PersonnelInfo.txt")

 

 

2

fork to(4)

 

3

 

=A1.import@t(;A2:4)

多线程读取A1数据文件中的记录。

4

 

return #A2|B3

#A2表示并行序号。

 

相关概念:

callx()

call()