在使用 python 封装的进程池 from concurrent.futures import ProcessPoolExecutor 遇到的问题

  1. 在ubuntu中,用的是python3.5
		executeprebuildpath = ExecutePrebuild()processpool = ProcessPoolExecutor(1)processpool.submit(executeprebuildpath.run).add_done_callback(self.precallback)processpool.shutdown(wait=False)self.runsign = Trueself.runningprebuildsignal()

这样可以正常运行,
但是将代码移植到 mac系统, 用的是python3.7
就报错:

"/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/connection.py", line 136, in _check_closedraise OSError("handle is closed")
OSError: handle is closed

于是就把processpool.shutdown(wait=False) 这个注掉,把这个语句放在 整个程序的最后,
以上错误没再出现, 但是出现别的错误了,
尝试改为:processpool.shutdown(wait=True), 就好了,

同事说,python3.7 的 ProcessPoolExecutor的shutdown 方法有所修改,关闭了某些东西,另外这种
shutdown的方式 也不太友好, 这里先记录以下, 等找到原因 再回来进行补充!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对pthread_create未定义的引用

pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,在编译中要加-lpthread [koulocalhost practive]$ gcc creat.c /tmp/ccPULtaF.o:在函数‘main’中: creat.c:(.text0x58):对‘pthread_create’未定义的引用 coll…

Bash入门

Bash简介: Bash(GNU Bourne-Again Shell)是一个为GNU计划编写的Unix shell,它是许多Linux平台默认使用的shell。 shell是一个命令解释器,是介于操作系统内核与用户之间的一个绝缘层。准确地说,它也是能力…

ubuntu 设置分辨率 亲测可用 转载的

网上试了很多方法, 这家管用 https://blog.csdn.net/qq_35661436/article/details/72802040

线程之售票系统pthread_mutex,_lock,_unlock

先看一下这篇文章 https://blog.csdn.net/csdn_kou/article/details/81148268 四个人同时买票票,引出线程 #include "head.h" int ticket 100; void * route(void *arg) {char *id (char *)arg;while(1){if(ticket>0){usleep(1000);printf("…

Bash基本语法

1. 变量赋值 a375 hello$a 这里需要注意的是,等号两边不能有空格 还有一个例子是这样的 例1: 结果为: 关于上述,主要有如下几点: $hello和${hello}是一样的,在bash中如果遇到空格,tab键时&a…

windows下 , py运用了 进程池, 将py打包成exe,出现错误的 解决思路之一

在windows上,用pycharm开发了一个小项目, 用到了from concurrent.futures import ProcessPoolExecutor 本来在pycharm里面,运行的好好地, 可是打包成exe的时候, 发现 当程序运行到 进程池执行任务的时候,会创建一个新的界面, 猜测应该是创建了一个新的进程, 百度后,发现在 程序…

关于fd和fp(fd:file descirptor fp:file pointor)

通常,我们在输入数据或输出数据的设备为键盘或者显示器。当然,我们比较熟悉的输入输出,可能就是对于文件的操作,还有直接从终端输出,显示到显示器上。在C语言中,我们使用fopen,fclose,fread,fwrite对文件进…

粗谈pragma once与 #ifndef的区别

#ifnde不受编译器的任何限制; #pragma once不受一些较老的编译器支持,兼容性不够好

在mac os10.13系统下 ,将py文件打包成可执行程序后, 里面的路径出现的问题

本来 用命令行运行py文件, 代码里面 获取当前路径的 语句 例如: os.getcwd() os.path.abspath(__file__) os.path.realpath(__file__)都可以获取到当前文件的路径, 但是打包成 可执行程序后, 统统不对了, 变成了 类似 /usr/xxx 的路径 https://stackoverflow.com/questions/50…

[linux]wait详解

wait:进程等待 主要有两种等待方式:阻塞式等待和非阻塞式等待 阻塞式等待:如果子进程正在运行,父进程将会一直等待着子进程运行结束,并且自己什么事都不干 非阻塞式等待:如果子进程正在运行,…

centos 使vim支持+python和+python3

本文为了给ycm服务,不单独存在。 查看是否支持python vim --version | grep python然后 下载vim8源码: git clone https://github.com/vim/vim.git 1 进行编译安装,添加python3和python2.7的支持: 进入下载的vim的源码文件夹中&#x…

ffmpeg的学习-00

命令行 大体样式 ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...有道翻译的 以后仔细回看 2.描述 ffmpeg是一个非常快的视频和音频转换器,也可以从一个实时音频/视频源抓取。它还可以转换之间的任意采样…

[Linux]消息队列

我们知道进程间通信的方法有多种,主要有管道,消息队列,信号量,共享内存,socket等。之前介绍过管道,今天再介绍一个新的概念–消息队列。 消息队列:将一个进程到另一个进程之间发送数据块的方式…

详解centos7 YCM YouCompleteMe自动补全安装,亲测成功

文章经重新排版转移至以下链接 https://blog.csdn.net/csdn_kou/article/details/84633663

python 异步与io

文档地址: https://docs.python.org/zh-cn/3/library/asyncio.html 以后再记录学习笔记 待续。。。

tornado 学习注意事项--00

设置url匹配的时候, (r/(.*), AMStaticFileHandler,dict(pathos.path.join(current_path, html), default_filenameindex.html))像这种语句要放到最后,因为放到前面的话, 后面的就无法匹配!

C++关键字速查手册

[TOC] https://blog.csdn.net/csdn_kou/article/details/81113215 C98关键字 C11 关键字共73个 alignas alignof用于获取取指定表达式指定的(类似sizeof,可以直接是类型名)的对齐(alignment)。alignas用于声明时指定对齐类似于现有的类型…

[Linux]信号

Linux下的信号是一个什么概念呢。我们在现实生活中也遇到过信号之类的。比如红绿信号灯,班主任叫你去办公室并且脸色不好,诸如此类的都会给你一个信号。让你辨别事情的发生。同样,Linux下也有许多的信号,让你执行相应的操作。比如…

怎么用VLC播放器将m3u8链接视频下载到本地

转载 https://blog.csdn.net/saddyyun/article/details/85245135

【1】C++面试题函数引用重载宏命名空间

函数重载的条件 • 同一个名字 • 函数名字相同 • 参数列表不同 • 同一个作用域 为什么c支持函数重载而c不支持? c函数名字的修饰规则不一样。c编译器对函数修饰规则把int的参数列表形式加了进来,从而保证底层使用不同 cAdd(int a,int b)_AddcA…