【问题描述】
今天,使用Python多进程管线(multiprocessing.Pipe )时,报告了以下错误:
跟踪后退(mostrecentcallast ) :文件' script/train _ Taobao.py ',line 302,inmoduletrain ) model _ type=model Util_Reg=Util_Reg )文件' script/train _ Taobao.py ',line 194, intrainif _ stop.is _ set (and train _ data _ pool.empty ) :文件' d : (anaconda (lib )多进程挖掘名称tiprocessing(connection.py ',line 255,in poll anacondalibmulti processingconnection.py ',line 136, in _ check _ closedraiseoserror (handleisclosed ' ) or ) onaco ndle python projectsproject _ NLPmimntraceback (矩阵) inmodulefile'd3360 spawn.py ',line 105, inspawn_mainexitcode=_main(FD ) file'd:(Anaconda(lib )多处理) spawn in _ main self=reduction.
下面介绍Python多进程管线中的一些常见错误。
1、管道发送端关闭,接收端仍去接收时,接收端接收管道中剩余的数据后,报告以下错误:
raise EOFError 2,管道上没有数据,但接收方去接收的话,程序就不动了。
3、即使管道的发送端关闭,如果发送端去发送,也会报告以下错误。
操作系统错误: handle is closed是我们上面报告的错误。
4、接收端关闭后发送端仍发送的情况下,将报告以下错误。
brokenpipeerror : [ winerror 232 ]管道已关闭。