展开全部

这两个方法都能开始线程活动,但是用法不同,其区别与Java Thread类中start()和run()的区别类似。

先来看官方文档的说明:e68a843231313335323631343130323136353331333363393661

翻译过来就是:

start()方法

开始线程活动。

对每一个线程对象来说它只能被调用一次,它安排对象在一个另外的单独线程中调用run()方法(而非当前所处线程)。

当该方法在同一个线程对象中被调用超过一次时,会引入RuntimeError(运行时错误)。

run()方法

代表了线程活动的方法。

你可以在子类中重写此方法。标准run()方法调用了传递给对象的构造函数的可调对象作为目标参数,如果有这样的参数的话,顺序和关键字参数分别从args和kargs取得。

为了测试写了如下代码:

[python] view plain copy#!/usr/bin/python

# coding=utf-8

import threading

class myThread(threading.Thread):

def __init__(self, threadID, name, counter):

threading.Thread.__init__(self)

self.threadID = threadID

self.name = name

self.counter = counter

def run(self):

currentTreadname = threading.currentThread()

print "running in", currentTreadname

thread = myThread(1,"mythrd",1)

thread.run()

thread.start()

myThread继承自Thread类,我重写了它的构造函数和run()方法,run()方法通过currentThread()获取当前所处线程名称并用print函数打印

然后程序分别执行run()和start()方法

输出结果如下:

可以看到两个方法分别处于MainThread和myThread线程中

python thread start_Python中Thread类的start和run方法的区别相关推荐

  1. java math四舍五入类,Java中Math类的几个四舍五入方法的区别

    JAVA取整以及四舍五入 下面来介绍将小数值舍入为整数的几个方法:Math.ceil().Math.floor()和Math.round(). 这三个方法分别遵循下列舍入规则: Math.ceil() ...

  2. java Thread的start和run方法的区别

    一.认识Thread的 start() 和 run() 概述: t.start()会导致run()方法被调用,run()方法中的内容称为线程体,它就是这个线程需要执行的工作. 用start()来启动线 ...

  3. java getabsolutepath,详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

    简单看一下描述,例子最重要. 1.getPath(): 返回定义时的路径,(就是你写什么路径,他就返回什么路径) 返回绝对路径,但不会处理"."和".."的情况 ...

  4. java中的path类_详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

    简单看一下描述,例子最重要. 1.getPath(): 返回定义时的路径,(就是你写什么路径,他就返回什么路径) 2.getAbsolutePath(): 返回绝对路径,但不会处理".&qu ...

  5. 关于Java中Match类的appendReplacement()方法的一个坑{ character to be escaped }

    关于Java中Match类的appendReplacement()方法的一个坑{java.lang.IllegalArgumentException: character to be escaped ...

  6. Java中的string定义的两种方法和区别

    java中的String定义的两种方法和区别 第一种:new方式 String s1 = new String("hello world"); String s2 = new St ...

  7. Java中Thread类的start()和run()方法

    1.两个方法的区别 start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法.start()不能被重复调用. run()   : run()就和普通的成员方法一样,可以被重复调用 ...

  8. python编写ATM类_Python中编写类的各种技巧和方法

    有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象.Pickling).你可以把它当作一个教程, ...

  9. python中编写类的各种技巧和方法_每日一道python面试题 - Python的实例,类和静态方法揭秘...

    实例,类和静态方法-概述 让我们开始编写一个(Python 3)类,其中包含所有三种方法类型的简单示例: class MyClass: def method(self): return 'instan ...

  10. python类方法需要传入cls参数_如何从Python 3.x中的类定义传递参数到元类?

    这是如何从类定义向元类传递参数的python 3.x版本?问题,根据请求单独列出,因为答案与python 2.x明显不同. 在python 3.x中,如何将参数传递给元类的__prepare__.__ ...

最新文章

  1. Spring Cloud(三)服务提供者 Eureka + 服务消费者(rest + Ribbon)
  2. FCKeditor使用详解
  3. 教你如何更改xshell中的转发规则
  4. win10无法装载iso文件_win 10如何装载和弹出ISO映像文件
  5. 后端学习 - Java基础
  6. 聊聊我是如何在面试别人Spring事务时“套路”对方的
  7. 使用主题文件(包含CSS文件)时遇到的问题
  8. MyBatis学习笔记(三) 关联关系
  9. 服务下线通知_Serverless 架构下的服务优雅下线实践
  10. np.random.RandomState、np.random.rand、np.random.random、np.random_sample
  11. java并发编程基础 --- 4.2 线程的优先级
  12. Gentoo Portage树服务器(SYNC服务器)的搭建[转]
  13. 【备忘】虚拟化容器/Docker视频教程/kubernetes/云计算/实例教程
  14. LimeSDR官方系列教程(四):To Pothos and Beyond
  15. CSS+HTML如何写一个类似于淘宝的简单导航栏?
  16. 【转载】《武学求真录》和《逝去的武林》及《老拳师的故事》 -3
  17. C++程序设计原理与实践 习题答案 第二十六章 第26章习题答案
  18. window10如何开启telnet
  19. fastadmin创蓝短信插件第二版
  20. 如何找到高清照片,4K高清风景照片,建议收藏!

热门文章

  1. multiplot 安装与配置
  2. SpringBoot+Quartz实现动态可配定时任务(动态定时任务)
  3. Android已有的原生Camera框架中加入自己的API的实现方案。
  4. KnockoutJS 3.X API 第七章 其他技术(3) 延迟更新
  5. Android无线测试之—UiAutomator UiSelector API介绍之三
  6. [BZOJ 3888] [Usaco2015 Jan] Stampede 【线段树】
  7. 【转载】svn代码回滚命令
  8. MIS系统开发利器,实施、维护人员自定义报表的福音,AgileEAS.NET SOA平台动态报表指南...
  9. jsp中对jstl一些标签的引用方式
  10. 动易BizIdea后台添加自定义功能