池类类可以提供指定的过程供用户致电。当将新请求提交到池中时,如果池不满,将创建一个新的进程以执行请求。相反,请求将等待直到流程已经结束。
进程:要创建的进程数,默认情况下使用CPU_COUNT()返回的数字
initializer:启动每个工作过程时要执行的可调节对象,默认值不。
启动:参数阵列传递给initializer
Maxtasksperchild:在退出工作过程之前可以完成的任务数量。完成后,一个新的工作过程而不是原始过程,使闲置的资源被释放。默认值无关,表明只要池中有一个工作过程,它就会生存。
上下文:用于制定工作过程的上下文。通常,池()或上下文对象的池()方法用于创建池。
应用(func [,args [,kwargs]]):在工作池中执行func(*args,** kwargs)。这里的一个要点是,该操作不会在所有工作过程中执行func函数池。如果您需要使用不同的参数执行func函数,则必须调用apply()函数或使用apply_saync()函数以用不同的线程完成操作以完成操作。该方法被阻止。
apply_saync(func [,args [,kwargs = {} [,callback = none]]]):在池中执行func(*args,** kwargs)。此方法的结果是异步类别的实例。回调是一个可呼叫的对象,并接收输入参数。当功能结果可用时,它将通过回调。Callback禁止任何阻塞操作,否则将接收其他异步操作的结果。这是不可接受的。
地图(func,iToble [,chunksize = none]):池类中的地图方法基本上与构建的-in映射功能用法行为相同,它将阻止过程直到返回结果。迭代器,必须准备好在运行子进程之前等待整个队列准备就绪。
map_saync(func,iToble [,chunksize = none]):与map()的关系类似于apply_saync()和apply()
IMAP():IMAP和MAP之间的区别在于,MAP必须等待所有进程在返回结果之前执行,并且IMAP立即返回结果。
IMAP_UNORDERS():不保证退货的顺序与流程的顺序一致。
COLSE():关闭过程池以防止进一步的操作。如果所有操作继续悬挂,则将在终止工作过程之前完成。
join():等待所有工作过程撤回。此方法只能在colse()或terminate()之后调用,以便它将不再收到新的过程
终止():完成工作过程后,不再处理未经处理的任务
apply_saync()方法的返回值和map_saync()方法是asyncresult类的实例。该实例具有以下方法
get():返回结果,如有必要,等待结果到达。可用的时间,如果在指定的时间内未到达,则会导致异常。
ready():如果呼叫完成,请返回true。
成功():如果呼叫完成并且不会引起异常,则返回真实。如果在结果准备就绪之前调用此方法,则会导致异常。
等待(超时):等待结果可用
终止():立即终止所有工作过程,而无需清洁或结束任何悬挂工作。如果该过程通过垃圾回收,则该功能会自动调用。
结果:
由于apply()方法被妨碍,因此将按顺序执行,并且在整个过程结束后将执行打印('end')陈述
结果:
因为apply_async()是非封锁,所以打印('end')语句的执行顺序在过程启动循环的前面
结果:
