博主准备监测redis主从节点复制的速度,启动了三个线程来不断扫描从节点的个数,然后再启动个进程来对空的主节点进行写,这样就能测试出各个从节点的更新复制速度。在启动三个线程时,出现了如下错误:
Fatal Python error: could not acquire lock for <_io.BufferedWriter name=’’> at interpreter shutdown, possibly due to daemon threads
看提示,说这个线程是守护进程,这是因为已经脱离主进程了,主进程启动线程是非阻塞式的,主进程会立马over。但是我在线程中调用了主进程的模块,所以就会出错。为了解决这个调用问题,有如下两种方式:
1、将线程写到另外一个文件当中,然后主进程import 线程函数或者类
2、不让主进程挂掉,可以写个while 1:进行不断的循环,但是最后线程执行完了,需要手动ctrl+c退出主线程
Python3.5多线程问题
最新推荐文章于 2024-06-26 13:12:35 发布