python线程问题 threads can only be started once

图片说明

代码如下:

import tkinter as tk
from tkinter import ttk
from threading import Thread
import time

class main():
def method(self):
for i in range(3):
time.sleep(1)
print(i)

op = main()
runT = Thread(target=op.method)
win = tk.Tk()
win.title("Python")

def click():
runT.start()

action = ttk.Button(win, text="Click Me!", command=click) # 7
action.grid(column=0, row=0)
win.mainloop()

我想每次点击下按钮就执行一次,但是python线程只能执行一次 按钮第二次点击就报错threads can only be started once 请问如何才能解决呢?

1
扫码支付0.1元 ×
其他相关推荐
Qt中使用线程时的注意事项(线程没起作用的原因)
今天偶然发现,运行程序时程序输出窗口中有如下提示:  QObject::startTimer: Timers can only be used with threads started with QThread 也就是当对象有父对象时,是不可以移到其他线程当中去的。 代码如下:m_Flower为自定义对象,flowerThead为线程。 **不起作用的代码: m_Flower=new
Python_多线程错误及解决
多线程 1. python "threads can only be started once"
(python)多线程
    线程指的是一条流水线的工作过程。进程根本就不是一个执行单位,其实是一个资源单位。    一个进程内必须带一个线程,因为线程才是执行单位。    在传统的操作系统中,每一个进程有一个资源空间,而默认就有一个控制线程.线程是一条流水线工作过程,而一条流水线必须在一个车间内.一个车间的工作过程,就相当于一个进程,车间负责把资源整合到一起,让这些资源给多条流水线使用.    所以,进程是只是用来开...
python线程问题 threads can only be started once
rn![图片说明](https://img-ask.csdn.net/upload/201802/25/1519569435_294971.png)rnrn代码如下:rnrnimport tkinter as tkrnfrom tkinter import ttkrnfrom threading import Threadrnimport timernrnclass main():rn def method(self):rn for i in range(3):rn time.sleep(1)rn print(i)rnrnop = main()rnrunT = Thread(target=op.method)rnwin = tk.Tk()rnwin.title("Python")rnrndef click():rn runT.start()rn rnaction = ttk.Button(win, text="Click Me!", command=click) # 7rnaction.grid(column=0, row=0)rnwin.mainloop()rnrnrnrn我想每次点击下按钮就执行一次,但是python线程只能执行一次 按钮第二次点击就报错threads can only be started once 请问如何才能解决呢?
小小Python爬虫(0)
#目前问题:爬一会就报“RuntimeError: can't start new thread”错误#Python的语法有些不太适应,这两天从网上搬了些代码组了个小爬虫,把糗事百科的段子按用户ID分类写入到文件import urllib.request import urllib.parse import time import os import threading import queue
低级定时器之QBasicTimer
QBasicTimers 是一个很快的、轻量级的定时器类,它主要被Qt内部使用。所以,我们一般不建议在上层应用程序中直接使用这个类去做定时器工作。在开发应用程序时,我们一般推荐使用QTimer类和QObject的成员函数startTimer来启动定时器。在此,只是出于学习还简单介绍一下QBasicTimer类的使用。还有,该定时器是一种重复性定时器,即它在启动后会不断的向应用程序发送定时器事件,直
Qthread 中创建Qprocess运行结束后会报错问题
Qthread 中创建Qprocess运行结束后会报错问题 原因在于在thread中用了qprocess的话引起父子进程问题,在run()函数结束的部分加上exec();即可
[Android笔记] 关于 AppWidget 动态更新:RemoteViews 更新缓慢&内存溢出
AppWidget 提供在 Launcher 中显示,诸如快捷操作,小工具等,如果只是提供快捷操作我想界面可以简洁,但如果 AppWidget 如果想提供类似广告和豆瓣电台那样效果的话,动态改变 AppWidget ,显示就显得很重要了,毕竟想在 Android 制胜的还是 UI 战争和用户体验~ Android 在 1.5 之后就取消了android:updatePeriodM
QT中的信号-槽函数与多线程
项目中遇到了关于多线程编程问题 shi
ScheduledThreadPoolExecutor执行莫名停止问题&Android几个动画回调运行线程
ScheduledThreadPoolExecutor执行停止问题&Android几个动画回调运行线程
AsyncTask使用入门
最近要使用AsyncTask做一些后台工作,今天先发一个入门的程序,待linc使用熟练后再发个心得。呵呵。当然,做后台工作可以使用Thread直接来搞。见之前的一篇文章《Android中线程和进度条的使用》,http://blog.csdn.net/lincyang/articl
libevent源码剖析-事件主循环
事件主循环主要是通过event_base_loop()函数完成的 event_base_loop所执行的循环 开始 第一步:(校正系统时间)第二步:(根据timer heap的最小超时时间计算系统I/O多路复用的最大等待时间)第三步:(更新last waittime,并清空time cache)第四步:(调用系统I/O 多路复用等待就绪I/O events)第五步:(检查signal的激活标记
YOLO,You Only Look Once论文翻译——中英文对照
文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers-translation You Only Look Once: Unified, Rea...
You Only Look Once论文中文翻译
You Only Look Once 统一的实时目标检测 Abstract  我们提出YOLO,一种新的目标检测方法。以前的对目标检测的工作重新使用分类器来执行检测。相反,我们将目标检测框架为回归问题,空间分离的边界框和相关类概率。单个神经网络在一次评估中直接从完整图像预测边界框和类概率。 由于整个检测流水线是单个网络,因此可以直接优化端到端的检测性能。   我们的统一架构非常快。我们的基
QTimer与事件循环和多线程
定时器的源码分析 startTimer返回定时器的ID,在定时时间到了后,收到一个QTimerEvent,并覆盖虚函数timerEvent进行处理,该QTimerEvent包括了定时器ID 看QTimer的源码就明白了: QObject::startTimer() { if (Q_UNLIKELY(!d->threadData->eventDispatcher...
Python多线程(threading)学习总结
注:此文除了例子和使用心得是自己写的,很多都是Python核心编程中的原文。原文文风应该能看出来,就不每个地方单独表明出处了。 线程(有时被称为轻量级进程)跟进程有些相似,不同的是,所有的线程运行在同一个进程中,共享相同的运行环境。它们可以想像成是在主进程或”主线程”中并行运行的“迷你进程”。 线程有开始,顺序执行和结束三部分。它有一个自己的指令指针,记录自己运行到什么地方。线程的运行可能被抢
Strive for Life 为生活而奋斗
-
curator源码(一) 初始化、启动和关闭。
curator(一) 启动初始化 Apache curator框架是zookeeper客户端框架, 初始化定义 第一种直接调用CuratorFrameworkFactory的newClient方法 /** * 创建客户端 * @param connectString zk地址 * @param sessionTimeoutMs s
AndroidStudio常见错误收集
1、Error:Finish can only be called once.(Gradle版本问题,可查看ProjectStructure中项目的Gradle版本和Setting中Gradle版本修改为一致的)。 2、 Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException:
七大感触——You Only Live Once
从做PreAngel以来,每年我都会抽空去美国一两次,主要是在硅谷(湾区)一带见见当地的朋友,他们主要有VC、创业者、斯坦福和伯克利的学生创业组织负责人、无线科技领域的各种组织机构负责人等,我一直试图逐步了解这个全世界高科技上市公司最密集的地带,究竟有着怎样的特别之处,有什么是我们可以学习借鉴的,让我们回到“乡下”也可以显得与众不同;同时,也想知道,我们这些“乡巴佬”,有没有机会在这个全世界最聪明
Unity3d(C#)错误提示:禁止在线程中进行游戏对象比较!
今天刚刚写完异步Socket客户端的数据收发,在进行测试的时候,Unity报出错误:   CompareBaseObjectsInternal can only be called from the main thread. 详情如下: ERROR : CompareBaseObjectsInternal can only be called from the main threa
You Only Look Once Unified, Real-Time Object Detection.pdf
You Only Look Once Unified, Real-Time Object Detection.pdf
IDL中一些容易忘的东西,随用随记
idl矩阵/数组的行列是反的,先列标后行标 idl的大小关系运算符不是< >=这种,而是EQ GT GE LT 这种,真是绝了 在ENVI5之后,好多以前的ENVI_GET_DATA这种函数都对象化了。先用e=ENVI(/Headless)无界面打开envi,调用这些新的方便一些的函数。 关于extension的写法,看这个博客
runTimeError与多线程
在学习pytorch官网上tutorial部分时,STN网络的代码是很重要的一部分内容。然而,将代码在自己的电脑中运行时,却出现了runTimeError的报错,具体如下图所示。 原因是dataset内部可能会开启多线程。事实上在这个代码中dataset的确开启了多线程,体现在语句“ numworker = 4”中。将4改为0即可。(改为1应该也是可以的,不过没试过,0和1理论上在这个情况里是等效...
YOLO you only look once 算法介绍
YOLO 将检测变为一个 regression problem,YOLO 从输入的图像,仅仅经过一个 neural network,直接得到 bounding boxes 以及每个 bounding box 所属类别的概率。正因为整个的检测过程仅仅有一个网络,所以它可以直接 end-to-end 的优化。 YOLO 结构十分的快,标准版YOLO 每秒可以实时地处理 45 帧图像。一个较小版本Fast YOLO,可以每秒处理 155 帧图像,它的 mAP(mean Average Precision) 依然可以达到其他实时检测算法的两倍。
RocketMQ源码解析-Producer启动
RocketMQ中生产者通过DefaultProducer来创建。   protected final transient DefaultMQProducerImpl defaultMQProducerImpl; private String producerGroup; private String createTopicKey = MixAll.DEFAULT_TOPIC; priva...
unity+Loom实现多线程(Thread)和主线程(MainThread)交互
最近在做资源更新时,需要显示现在的进度调。我在Unity中开启了一个线程来做下载任务,然后实时刷新下载进度。然后Unity报了一个错误。 get_isActiveAndEnabled can only be called from the main thread.意思是Unity中的组件只能运行在Unity的主线程中,无法在新开的线程中调用Unity的组件。用Loom实现多线程与主线程交互usin
python 多线程 join 的 细节问题 注意使用事项
threads=[] f=[fast,slow] l=len(f) for i in range(l): t=MyThread(f[i],(),str(i)) threads.append(t) for i in range(l): threads[i].start() for i in range(l): #pass threads[i].join() p
Python学习 一
------------------------ 数据结构------------------------ 如果你以前有过编程的经验,那你可能知道什么是数据结构。 数据结构是数据组织的方式。在Python中,最简单的数据结构就是数组,就是一连串的数据。这一组数据中每个数据都有一个标志性数字,称为索引,第一项的索引是0(而不是1),第二项是1,第三项是2…… 索引还可以是负数,倒数第一项的索引
Akka(15): 持久化模式:AtLeastOnceDelivery-消息保证送达模式
消息保证送达是指消息发送方保证在任何情况下都会至少一次确定的消息送达。AtleastOnceDelivery是一个独立的trait,主要作用是对不确定已送达的消息进行补发,这是一种自动的操作,无需用户干预。既然涉及到消息的补发,就不可避免地影响发送方和接收方之间消息传递的顺序、接收方重复收到相同的消息等问题,这些用户必须加以关注。从另一个方面,AtleastOnceDelivery模式保证了强韧性Actor系统的不丢失消息,这项要求可能是一些系统的核心要求。
python基础教程_学习笔记2:序列-2
序列-2 序列相加 通过加号对列表进行连接操作; 列表 >>> [1,3,4]+[2,5,8] [1, 3, 4, 2, 5, 8] 字符串 >>> '134'+'258' '134258' 元组 >>> (1,2,3)+(2,5,8) (1, 2, 3, 2, 5, 8) 元素数据类型不同的列表 >>> [[1,3],[3,9]]+[[2,2],'abc'] [[1,
不一样的str,python 3.0 与 python 2.5 的 str 类型比较笔记
<br />在2.5中,str类型指的是单字符类型的字符串,所以一个中文字在str中表现为2个字节,想要生成unicode类型的字符串,必须在引号前加入“u”这个标识。<br />例如:<br /> >>> s = "测试"  # 这个是单字符类型的字符串<br /> >>> type(s)<br /> <type 'str'><br /> >>> len(s)  # 两个中文的长度为4个字符<br /> 4<br /> >>> s<br /> '/xb2/xe2/xca/xd4' <br /> >>> s
Java并发-守护线程(Daemon)
Deamon线程通常是一种在后台提供通用服务的线程,当程序中的非后台线程全部终止时,deamon线程也就终止了。 setDaemon(boolean isDaemon)方法的一段注释: The Java Virtual Machine exits when the only threads running are all daemon threads. 意思就是当运行中的线程只剩下守护线程时...
PYTHON神经网络的某些错误
( 01 )TypeError: Dense can accept only 1 positional arguments (‘units’,), but you passed the following positional arguments: [11, 17]解决:就是在Dense中写好参数名称: Dense(input_dim=11,output_dim=17)
最近使用django遇到的两个问题
最近用django有几个使用记录下: 1、如果需要使用现用数据库的话,可以在django项目的根目录下使用python manage.py inspectdb > (app)/models.py 2、启动项目以后遇到一个问题:(model): (models.E004) 'id' can only be used as a field name if the field also se
Hystrix 源码解析 —— 执行结果缓存
摘要: 原创出处 http://www.iocoder.cn/Hystrix/command-execute-result-cache/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Hystrix 1.5.X 版本 1. 概述 2. 好处 3. Observable#defer(…) 4. AbstractCommand#toObservavle(…) 5. HystrixCachedO
RabbitMQ客户端源码分析(四)之BlockingCell
文章目录RabbitMQ-java-client版本BlockingCellBlockingCell源码分析ValueOrExceptionBlockingValueOrExceptionRpcContinuation扩展自己写一个 RabbitMQ-java-client版本 com.rabbitmq:amqp-client:4.3.0 RabbitMQ版本声明: 3.6.15 Block...
swoole_process源码分析之process创建过程
swoole提供了创建进程的方式,据swoole官方文档介绍,比PHP原生的pcntl更高效,下面是官方文档给出的pcntl的缺点和swoole的优点。 PHP自带的pcntl,存在很多不足,如 pcntl没有提供进程间通信的功能 pcntl不支持重定向标准输入和输出 pcntl只提供了fork这样原始的接口,容易使用错误 swoole_process提供了比pcntl更强大的功能,更易...
Python: Can't start new thread解决方案(设置线程上限)
背景: 在编写一个爬虫的时候,检查用多线程来检测结果有效性的时候,线程启动过多报错: thread.error: can't start new thread 方案:使用Thread中的event,并进行上锁设置来解决。 原因:这个是由于每台计算机能进行的并行是有上限的,经过测试本机的上限为1023个左右(win7 64位,i3 2核4线程),可以进行设置提高上限,但我觉得此处没有必要...
python3出现TypeError: can only concatenate str (not "bytes") to str的错误,大一刚上手python的学习,望大神解决。感激不尽
 print(city.string + u'\nAQI指数:' + aqi.string+ u'\nPM2.5浓度:' + pm25.string + pm25danwei.string + u'\n空气质量:' + quality.string + space.sub(&quot;&quot;,replacechar.sub('',str(result))).encode('utf-8')) TypeError:...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java学习线程的问题 python线程学习