【Python多线程中线程间资源共享和常用的锁机制的介绍】教程文章相关的互联网学习教程文章

Python:使用守护程序线程在一段时间后终止多线程程序【代码】

我想实现一个程序,该程序将在运行一段时间后终止,并且使用ArgumentParser从命令行读取t.目前我有以下代码(省略一些细节):def run():parser = create_arg_parser()args = parser.parse_args()class_instance = MultiThreadClass(args.arg1, args.arg2)class_instance.run()if __name__ == '__main__':run_thread = Thread(target=run)run_thread.daemon = Truerun_thread.start()time.sleep(3.0)该程序按预期工作(它在运行3秒后终止...

如何在Python中多线程/多处理一个特定函数的一个实例?【代码】

我正在运行一个控制机器人的Python脚本,但我对如何多线程控制电机控制功能感到困惑. 问题在于硬件的设计使得电机不会移动,除非电机控制功能中存在多个休眠,因为硬件需要时间将电信号发送到电机.由于电机控制功能中的这些休眠,整个程序停止并停止读取传感器数据. 我想做的是知道如何在调用电机控制功能后对其进行多线程/多处理,但是一旦程序在循环的下一次迭代中再次遇到调用,它会检查电机控制是否仍在运行(即睡眠没有完成.如果它仍...

在多线程Python代码中遇到Emacs pdb和断点问题【代码】

我正在使用python.el运行Emacs 23.2并使用pdb调试一些Python代码. 我的代码使用线程模块生成一个兄弟线程,我在run()方法的开头设置了一个断点,但是pdb永远不会处理它,即使代码肯定运行并且适用于所有意图和目的. 我的印象是我可以使用pdb在任何线程中建立断点,即使实际上不支持完整的多线程调试. 我错误地假设在一个M-x内的pdb pdb调用可以在任何线程中中断吗?如果你不相信我自己尝试这个最小的例子.import threadingclass Thread...

如何中断/停止/结束挂起的多线程python程序【代码】

我有一个python程序,实现这样的线程:class Mythread(threading.Thread):def __init__(self, name, q):threading.Thread.__init__(self)self.name = nameself.q = qdef run(self):print "Starting %s..." % (self.name)while True:## Get data from queuedata = self.q.get()## do_some_processing with data ###process_data(data)## Mark Queue item as doneself.q.task_done()print "Exiting %s..." % (self.name)def call_thre...

python – 多线程Gstreamer w / PyGTK崩溃(xcb_xlib_threads_sequence_lost)【代码】

我明白一个人不应该从gtk中的其他线程更新UI,或者面临后果,但我不确定在使用gstreamer时我怎么能避免这种情况. 我的应用程序在视频流初始化过程中不时崩溃,并提出以下建议:[xcb] Unknown sequence number while processing queue [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. python: ../../src/xcb_io.c:274: poll_for_event: Assertion `!xcb_x...

如何使用scala或python在apache spark中运行多线程作业?【代码】

我正面临一个与spark并发相关的问题,这阻碍了我在生产中使用它,但我知道有一条出路.我正在尝试使用订单历史记录为700万用户运行Spark ALS.首先,我将获取不同用户的列表,然后对这些用户运行循环以获取建议,这是一个非常缓慢的过程,需要几天时间才能获得所有用户的建议.我尝试用笛卡尔用户和产品一次性获取所有建议,但再次将其提供给elasticsearch我必须为每个用户过滤和排序记录,然后我才能将它提供给elasticsearch以供其他API使用....

python多线程

1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串指令。 1.1.2 线程的工作方式 假设你正在读一本书,没有读完,你想休息一下,但是你想在回来时恢复到当时读的具体进度。有一...

Python多线程爬虫【代码】

你好!我正在尝试使用python编写Web爬虫.我想使用python多线程.即使在阅读了之前的建议论文和教程之后,我仍然有问题.我的代码在这里(整个源代码是here):class Crawler(threading.Thread):global g_URLsDict varLock = threading.Lock()count = 0def __init__(self, queue):threading.Thread.__init__(self)self.queue = queueself.url = self.queue.get()def run(self):while 1:print self.getName()+" started" self.page = getP...

python – 如何配置多线程程序?

我有一个程序正在低于标准执行waaaay,我想描述它.但是,它是多线程的,所以我似乎无法找到一个好方法来描述这个东西.有什么建议? 我试过yappi,但它在OS X上的段错误:( 编辑:这是在python中,很抱歉将其置于剖析中…解决方法:你是多线程还是多处理?如果你只是多线程,那就是问题所在.由于Global Interpreter Lock(GIL),Python目前在多处理器系统上存在多线程问题.他们正在努力为Python 3.2修复它 – 至少这样你的程序将在单核上和多核...

使用Python在ArcGIS中进行多线程处理【代码】

我有一个python脚本,单独运行时效果很好.它基于硬编码的输入目录,扫描所有.mdb文件并将其放入列表中,然后在for循环中遍历它们.每次迭代都涉及多个表限制,连接,查询等. 唯一的问题..在输入数据集上运行大约需要36个小时,而这个脚本只会在这个实例中用于此数据集,我想提高性能,因为我经常编辑字段选择,结果包括,加入方法等我想说它需要很长时间,因为我的脚本效率低下,但任何低效率都会很小,因为几乎所有处理时间都专用于地理处理器对...

python – 多线程.线程中的异常【代码】

我试图用example来理解.这是代码:import Queue import threading import urllib2 import time from BeautifulSoup import BeautifulSouphosts = ["http://yahoo.com", "http://google.com", "http://amazon.com", "http://ibm.com", "http://apple.com"]queue = Queue.Queue() out_queue = Queue.Queue()class ThreadUrl(threading.Thread):"""Threaded Url Grab"""def __init__(self, queue, out_queue):threading.Thread.__init...

python twisted多线程服务器

当我读到twisted docs on multithreading时,我有一种印象,扭曲在单个线程中工作得最好,异步完成所有工作.但我有一种强烈的感觉,我不理解多线程,异步性和性能(速度)之间的关系. 想象一下,我们有一台拥有许多CPU核心的计算机.我们想在那里部署一个扭曲的服务器,这将管理高流量.我们可以利用所有核心来使服务器尽快响应.我们应该做什么?我应该使用单线程还是多线程模式?核心数量会影响扭曲效率(在C级别还是在python级别)? 请注意,我...

Python多线程Yay还是nay?

我一直在尝试编写一个简单的python应用程序来实现一个工作队列我发现有关线程的每个网页都有一些随机的评论,你不应该使用python线程因为这个或那个,有人可以帮助我吗?什么是Python线程,我可以使用它吗?如果是哪个lib?标准的还不错吗?解决方法:Python的线程非常可行,对许多任务都很有用.由于它们是使用本机操作系统线程实现的,因此它们允许执行阻塞系统调用并同时保持“运行” – 通过在单独的线程中调用阻塞系统调用.这对于必须...

Python中的多线程MD5校验和【代码】

我有一个python脚本,递归地遍历指定的目录,并校验它找到的每个文件.然后它会写一个日志文件,列出所有文件路径及其md5校验和. 顺序地,这需要很长时间才能获得50,000个文件,每个文件15 MB.但是,我的计算机拥有的资源比实际使用的资源多得多.如何调整我的方法以便脚本使用更多资源来更快地执行? 例如,我可以将文件列表拆分为三分之一并为每个运行一个线程,给我一个3倍的运行时间吗? 我对线程不太满意,我希望有人不介意为我的案例鞭打...

python中的多线程 – 阻止在后台运行的调用【代码】

我最近一直在研究一个程序(正如你可能从我之前提出的问题中看到的那样)而且我在理解和实现多线程方面遇到了麻烦. 我按照教程(binary tides)设置了UDP服务器,效果很好.然而,我遇到的问题是,当我在新线程上创建阻塞UDP套接字时,我在主程序中最初创建线程的代码不起作用.这是我的一些代码: main.py:from thread import* import connectionsstart_new_thread(networkStart.startConnecton()) print 'This should print!'networkStart...