【python – 关于GUI计时器的建议,以显示后台线程的已用时间?】教程文章相关的互联网学习教程文章

Python多线程ZeroMQ REQ-REP【代码】

我正在寻找使用多线程的Python和ZeroMQ实现REQ-REP模式. 使用Python,当新客户端连接到服务器时,我可以创建一个新线程.该线程将处理与该特定客户端的所有通信,直到关闭套接字:# Thread that will handle client's requests class ClientThread(threading.Thread):# Implementation...def __init__(self, socket):threading.Thread.__init__(self)self.socket = socketdef run(self):while keep_alive:# Thread can receive from cl...

GTK3和Python中的线程同步【代码】

我目前正在学习Python和GTK 3,并且在同步线程时遇到问题.我将尝试快速而清晰: 我必须创建一个社交网络客户端.因为目的是学习如何创建GUI,所以将模拟“对社交网络API的访问”,但我必须“等待” time.sleep()的网络响应.在主线程中调用time.sleep()会冻结GUI(它停止执行Gtk.Main()),因此我必须在单独的线程中进行所有连接.这就是我的问题.在验证用户身份(verifying_credentials)时,我需要从该线程中等待完成以继续执行主程序.如果尝...

python-线程中的引用传递可变变量【代码】

我有一个关于Python中多线程的基本问题:我有一个列表,需要在线程中对其进行修改.我了解列表是可变类型:How do I pass a variable by reference? 但是,当我使用线程时,列表的行为不像可变类型:from multiprocessing import Process, Lockdef f(l, i, n):l.acquire()i.append(n)l.release()print "in:", iif __name__ == '__main__':lock = Lock()i = []for num in range(10):p = Process(target=f, args=(lock, i, num))p.start(...

python 多线程ping 2秒ping完500个ip地址【图】

使用模块queue 队列控制访问全局变量suprocess 创建子进程生成多个shell此脚本可用于网络割接改造时 判断各个设备的网络连通性,ip地址和设备名字均从企业配置库读取。利用队列控制变量读取。2秒之内快速ping完#!/usr/bin/python #-*- coding: utf-8 -*- from threading import Thread import subprocess from Queue import Queue import pymysql num_threads=10 q=Queue() def pingme(i,queue): while True: ip=queu...

从线程全局更新变量并从python中的main访问【代码】

我有特定的程序.node_up = [0,0,0,0,0] list_host = [ '10.0.2.12', '10.0.2.13', '10.0.2.14', '10.0.2.15', '10.0.2.16' ]def node_check():global node_up, list_hostfor i in range( len(list_host) ):try:b = subprocess.check_output( ["ping", "-c", "4", "-w", "4", list_host[i] ] )print bnode_up[i] = 1print node_upexcept subprocess.CalledProcessError, e:print e.outputnode_up[i] = 0print node_upthread.start_n...

Python队列将运行异步异步协程的对象与主线程输入关联【代码】

我有一个运行脚本,其中主线程从stdin接收输入,然后使用队列将其传递给子线程.在子线程中,我使用异步协程在套接字上启动侦听器并等待连接.建立连接后,我现在可以从主线程通过侦听器发送数据了. 一切似乎都足够好,但是由于asyncio.BaseEventLoop不是线程安全的,我会遇到问题吗? 这是我尝试解决的问题,例如将python的cmd模块与asyncio一起使用. 我的代码如下.import sys import asyncio from time import sleep from threading impor...

python-获取线程变量的参数【代码】

我有一个非常简单的问题:myThread = Thread(target=TestTarget, args=(1, Event(),))是否可以仅使用变量myThread获取参数? 谢谢!解决方法:_Thread__args和_Thread__kwargs存储构造函数的参数. 但是,您可能会想知道下划线,这些都不属于公共API.确实,“经过修改的重命名属性”为intended to discourage direct access. 此外,这些属性特定于CPython实现.例如,Jython似乎没有用这些名称来公开这些属性(免责声明:我没有测试,只是浏览...

如果执行得太快,Python线程就会干扰【代码】

我有许多线程可以并行执行,因为线程通常是:D 除非我放慢脚步,否则它们往往会伪造彼此,向彼此的空间写信.因此,当我打印一条语句时,我发现在某些线程中似乎是“回声”(不是编码术语,而是文字上的回声). 当我放慢脚步时,不会出现木偶. 这是这些虚拟帐户运行时在终端上得到的示例:Meikitotokiku83: day_2, Wed Jun 10 03:32:53 2015, nine Robinia6424: day_2, Wed Jun 10 03:32:53 2015, four Meikitotokiku83: day_7, Wed Jun 10 0...

Python;异步处理我需要一个单独的线程吗?【代码】

从asyncore的文档中:https://docs.python.org/2/library/asyncore.htmlimport asyncore, socketclass HTTPClient(asyncore.dispatcher):def __init__(self, host, path):asyncore.dispatcher.__init__(self)self.create_socket(socket.AF_INET, socket.SOCK_STREAM)self.connect( (host, 80) )self.buffer = 'GET %s HTTP/1.0\r\n\r\n' % pathdef handle_connect(self):passdef handle_close(self):self.close()def handle_read(s...

Python之多线程学习【2】:Quene功能【图】

Quene 功能主要解决利用线程的计算不能直接return的问题 一. 代码import threading import time from queue import Queuedef job(l,q):for i in range(len(l)):l[i] = l[i]**2return q.put(l) # 线程运行的结果不能直接return,所以我们把它的结果放在q中def mutithreading():q = Queue()threads = []data = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]for i in range(4):t = threading.Thread(target=job,args=(data[i],q))t.start()th...

23python多线程、多进程和锁相关【代码】【图】

说在前面:并发和并行:并发:伪,指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个线程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。并行:真,指在同一时刻,有多条指令在多个处理器上同时执行,无论从宏观还是微观来看,二者都是一起执行的。线程和进程:线程:1、进程是供CPU调度的工作的最小单元2、线程共享进程中的资源3、每个线程可...

为什么我无法在python中加入该线程?【代码】

我正在编写一个多线程类.该类具有parallel_process()函数,该函数被并行任务覆盖.要处理的数据放入队列中.每个线程中的worker()函数一直调用parallel_process(),直到队列为空.结果放入结果队列对象中.类的定义是:import threading try:from Queue import Queue except ImportError:from queue import Queueclass Parallel:def __init__(self, pkgs, common=None, nthreads=1):self.nthreads = nthreadsself.threads = []self.queue...

python-Scipy最小化函数似乎自己创建了多个线程?

我正在使用scipy最小化功能.它所调用的函数是用Cython编译的,并具有我编写的底层C实现,但这并不重要.由于某种原因,当我运行程序时,它会创建尽可能多的线程来填充我的所有cpus.例如,如果我运行top时,我只创建了要在一个CPU上运行的程序,则可以看到正在使用800%的cpu或在htop上可以看到使用了8个单独的处理器.我什至认为scipy甚至没有并行处理功能,也找不到与此相关的任何文档.有什么可能发生,有什么办法可以控制它?解决方法:如果有...

我可以从Python中的线程导入模块吗?【代码】

一切从昨晚开始,当时我正在编写一个脚本,该脚本需要8个左右的包,其中包括pygame.mixer,在我的计算机上导入该脚本需要几秒钟. 这意味着在脚本开始之前,我必须等待10秒钟左右才能加载所有导入.因为我希望脚本明显地尽可能快,所以我可以开始运行脚本,同时通过以下方式获取导入:import threadingdef import_modules():import tkinter as tkfrom pygame import mixerimport jsonimport webbrowserprint('imports finished')a = threadi...

在Python中使用线程时要注意的警告?

我对使用Python线程很陌生,并且有几个初学者的问题. 当使用Python线程模块启动超过50个线程时,我开始收到MemoryError.线程本身非常纤细,而不是非常占用内存,因此似乎是线程开销造成了内存问题. >有什么办法可以增加内存容量,或者可以使Python允许更多线程?>使用线程模块可以在Python代码中运行的最大线程数是多少?您是否有任何技巧来达到这个数字?>使用线程模块时,还有其他注意事项吗?解决方法:Eventlets线程旨在降低内存消耗....