k3jobq用函数同时处理一系列输入
k3jobq的Python项目详细描述
k3jobq公司
k3jobq用函数同时处理一系列输入
k3jobq是pykit3项目的一个组件:python3工具包集。在
k3jobq是一个管理器来创建当前任务。 它同时处理一系列的输入函数和 所有线程完成后返回::
def add1(args):
return args + 1
def printarg(args):
print(args)
k3jobq.run([0, 1, 2], [add1, printarg])
# > 1
# > 2
# > 3
安装
^{pr2}$概要
#!/usr/bin/env pythonimportk3jobqif__name__=="__main__":defadd1(args):returnargs+1defmulti2(args):returnargs*2defprintarg(args):print(args)k3jobq.run([0,1,2],[add1,printarg])# > 1# > 2# > 3k3jobq.run((0,1,2),[add1,multi2,printarg])# > 2# > 4# > 6# Specify number of threads for each job:# Job 'multi2' uses 1 thread.# This is the same as the above example.k3jobq.run(list(range(3)),[add1,(multi2,1),printarg])# > 2# > 4# > 6# Create 2 threads for job 'multi2':# As there are 2 thread dealing with multi2, output order will not be kept.k3jobq.run(list(range(3)),[add1,(multi2,2),printarg])# Output could be:# > 4# > 2# > 6# Multiple threads with order kept:# keep_order=True to force to keep order even with concurrently running.k3jobq.run(list(range(3)),[add1,(multi2,2),printarg],keep_order=True)# > 2# > 4# > 6# timeout=0.5 specifies that it runs at most 0.5 second.k3jobq.run(list(range(3)),[add1,(multi2,2),printarg],timeout=0.5)# Returning *k3jobq.EmptyRst* stops delivering result to next job:defdrop_even_number(i):ifi%2==0:returnk3jobq.EmptyRstelse:returnik3jobq.run(list(range(10)),[drop_even_number,printarg])# > 1# > 3# > 5# > 7# > 9
作者
版权和许可
麻省理工学院执照
版权所有(c)2015张艳波drdr.xp@gmail.com
- 项目
标签: