python-multithreading相关内容
我已成功将 PyQT4 GUI 中的昂贵例程外包给工作人员 QThread,以防止 GUI 无响应.但是,我希望 GUI 等到工作线程完成处理才能继续执行自己的代码. 我立即想到的解决方案是让线程在完成时发出信号(据我所知,QThreads 已经这样做了),然后在执行其余代码之前在主窗口中查找此信号.这是被黑了吗? 我知道 QThread 提供了这里描述的 wait() 函数,但我不清
..
我正在 PyQt 中制作一个 GUI,供用户创建大量数据的备份. GUI(主线程)正在接受用户的输入.rsync 命令(用于备份)也在主线程中被调用,因此窗口被冻结. 目标是尝试使用 qthread,使应用程序运行时不会冻结. 我的搜索材料: 1:https://www.youtube.com/watch?v=o81Q3oyz6rg.该视频展示了如何通过在辅助线程中运行其他
..
我想为我现有的添加Linux键盘检测Windows 键盘检测器.所以我用 pyudev 创建了一个 LinuxKeyboardDetector. 可以启动脚本,出现图形用户界面,可惜键盘检测不识别,不报错. 我怀疑使用 QRunnable 的多线程存在问题. 代码 导入系统从日期时间导入日期时间进口平台来自 PyQt5.QtCore 导入 QObject、QRunnable、Q
..
基于这里和这里在 PyQt5 中使用多线程迈出了我的第一步.启动程序后,出现图形用户界面,但几秒钟后崩溃并出现以下错误 进程完成,退出代码 -1073740791 (0xC0000409) 谷歌搜索错误信息后,我相对确定多线程有问题.不幸的是,我不知道错误是什么以及如何修复. 代码 导入系统从日期时间导入日期时间导入 wmi来自 PyQt5.QtCore 导入 QObject、QRun
..
我一直在学习多线程,特别是在 PyQt 5 应用程序的上下文中. 最初我使用“线程"实现了一个版本,但后来了解到我应该使用“QThread"来允许使用信号/插槽,例如: workerThread = QThread() workerObject = Worker(cmdlist) workerObject.moveToThread(workerThread) workerThre
..
我正在尝试制作一个用于复制大文件的进度条.但是,当前对话框窗口会变黑,直到该过程完成.我现在明白我可能必须学习如何使用胎面并将数据传回 GUI.但是我仍然不明白为什么窗口无法完全渲染.我会理解窗口是否因为 moveFilesWithProgress 函数正在运行而没有响应.但在该函数中,我正在更新进度条值.我什至尝试添加 QtGui.QGuiApplication.processEvents()
..
我正在尝试使用 imap lib 制作邮箱检查器,它在没有 gui 的情况下与 python、队列和多线程一起工作得很好. 但是当我尝试放置 gui 时,我所做的每一个函数都会使 gui 冻结直到完成. 我从各种文档(添加 qthread、signal、cursorr 等)和教程中尝试了很多东西,没有一个对我有用. 有人可以帮助我了解如何在运行函数时将文本设置或附加到 Qtext
..
我正在尝试编写一个即时消息程序,基本的 ui 即将完成,我正在研究消息的接收部分.我有一个 UI 类和一个线程化的 Receive_Socket 类.Received_Socket 类的套接字每次收到消息时,都会执行 gobject.idle_add() 来调用 UI 方法,以便将消息显示到聊天窗口中.在 gobject.idle.add() 行之后,我有一个 while 循环,循环直到消息实际上
..
我在 OpenCV 中使用 threading 模块,我遇到了一个奇怪的问题.使用线程时,我无法再次启动相机以获取视频输入.我会拍一帧然后停下来.虽然在使用 multiprocessing 模块时没有这样的问题.我无法理解是什么导致了这种奇怪的行为. 这段代码总结了我遇到的问题,第二次创建线程时程序会卡住. 导入 cv2导入时间进口螺纹def open_cam():计数 = 0cam =
..
out = cv2.VideoWriter(output_file, codec, fps, (width,height))而 video.isOpened():has_frame, image = video.read()如果 has_frame:image_in = cv2.cvtColor(图像,cv2.COLOR_BGR2RGB)image_in = tf.expand_dims(imag
..
我用 python 编写了一个简单的程序,带有异步和线程.我想在不阻塞任何东西的情况下实现异步客户端,如下所示: 如何在内部处理异步python中的一个类,没有阻塞任何东西? 这是我的代码: 导入套接字、线程、时间、异步类客户端(asyncore.dispatcher):def __init__(self, host, port):asyncore.dispatcher.__init
..
如何从 Python 中的守护线程在运行阻塞代码的主线程中触发异常? 我有一个守护线程,它会定期检查数据库中是否有指示其当前进程应该终止的记录(即用户按下了“取消"按钮).在我的主要非守护进程线程中,我正在运行对外部进程的阻塞调用,我无法轻松修改该进程以正常终止.然而,当我手动触发一个键盘中断时,主线程可以优雅地处理一个. 因此,如果我的守护线程收到终止命令,我该如何在主线程中引发异常
..
我想用模块 ThreadPool 做一个练习,为 range(1,100) 中的每个元素添加 2. from multiprocessing.pool import ThreadPool数组=范围(1,100)类测试():def myadd(self,x):返回(x+2)做=线程池(5)do.map(test.myadd,array)回溯(最近一次调用最后一次):文件“",第 1
..
我正在使用 Nathancy 的 SO 代码阅读两个利用多线程并行来自磁盘的静态视频.以下修改后的代码对我来说非常好: from threading import Thread导入cv2,时间类 VideoStreamWidget(对象):def __init__(self, src=0):self.capture = cv2.VideoCapture(src)# 启动线程从视频流中读取帧sel
..
为什么这段代码不能并行工作? 当奇数的线程开始计算它的大数时,其他线程出于某种原因只是等待它完成,尽管他们应该做自己的事情.我错过了什么? 导入线程、数学、时间类 MyThread(threading.Thread):def __init__(self, num):super(MyThread, self).__init__()self.num = num定义运行(自我):为真:使用互斥锁
..
在查找事件处理程序模块时,我遇到了 pydispatcher,它似乎对初学者很友好.我对该库的用例是,如果我的队列大小超过阈值,我想发送一个信号.然后,处理程序函数可以开始处理并从队列中删除项目(然后在数据库中进行批量插入). 我希望处理程序函数在后台运行.我知道我可以简单地覆盖 queue.append() 方法检查队列大小并异步调用处理程序函数,但我想实现侦听器-调度程序模型以保持逻辑干
..
我想了解为什么我必须等待接收器线程结束其工作才能做任何其他事情.我知道我的 sock_listen 函数正在等待连接,这就是它的意思,但我不明白为什么这不在我的线程“内"发生. 对不起,如果这是一个愚蠢的问题,但我有点迷茫!提前致谢! def sock_listen(地址,端口):袜子 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s
..
我有顺序生产者消费者模型,它需要大量时间来执行.所以我试图让消费者代码同时运行. 注意:对象是一个生成器. func report_object(self, object_type, objects):对于对象中的 obj:尝试:change_handler(obj, self.config)除了作为 e 的例外:LOG.error("处理对象时发生错误:%s" % e)LOG.excep
..
我有一个模仿 REST API 调用的代码(见下文). 对于生成器的 item 中的每个键,它都需要运行一个 REST 调用.所以在我的例子中,记录可能是 {"a": 2, "b": 36, "c": 77} 我需要为每个键(a、b 和 c)单独运行 REST 调用,然后输出结果(其中只是否定数字): {"a": 2, "a_neg": -2, "b": 36, "b_neg": -3
..
我正在努力让多线程在 Python 中工作.我有我想基于参数在 5 个线程上执行的函数.我还需要 2 个对每个线程都相同的参数.这就是我所拥有的: from concurrent.futures import ThreadPoolExecutordef do_something_parallel(sameValue1, sameValue2, differentValue):打印(str(sam
..