Python多线程编程基础2:如何创建线程

Python标准库threading中的Thread类用来创建和管理线程对象,支持使用两种方法来创建线程:1)直接使用Thread类实例化一个线程对象并传递一个可调用对象作为参数;2)继承Thread类并在派生类中重写__init__()和run()方法。创建了线程对象以后,可以调用其start()方法来启动,该方法自动调用该类对象的run()方法,此时该线程处于alive状态,直至线程的run()方法运行结束。

下面演示第一种创建线程的方法:

import threading

def demo(start, end):

for i in range(start, end):

print(i)

# 创建线程

t = threading.Thread(target=demo,\

args=(3,6))

# 启动线程

t.start()

运行结果:

3

4

5

下面演示第二种创建线程的方法:

from threading import Thread

class MyThread(Thread):

def __init__(self,\

begin,\

end):

# 调用基类构造方法初始化

Thread.__init__(self)

# 初始化

self.begin = begin

self.end = end

def run(self):

# 调用线程start()方法运行这里的代码

for i in range(self.begin,\

self.end):

print(i)

# 创建线程

t = MyThread(3, 6)

# 启动线程

t.start()

运行结果:

3

4

5

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2017-07-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

Python面向对象程序设计中属性的作用与用法

公开的数据成员可以在外部随意访问和修改,很难保证用户进行修改时提供新数据的合法性,数据很容易被破坏,并且也不符合类的封装性要求。解决这一问题的常用方法是定义私有...

26240
来自专栏python3

python3--面向对象的进阶

反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问,检测和修改它本身状态或行为的一种能力(自省),它首先被程序语言的设计领域所采用,并在Lis...

8720
来自专栏Deep learning进阶路

C++随记(一)---字符串数组的输入问题

首先来看一段程序: #include<iostream> using namespace std; int main(){ char name[10],s...

20700
来自专栏上善若水

040android初级篇之标准java版的HelloWorld编译及运行

运行的时候,如果 .class文件不在当前目录则需要使用-classpath 指定所在目录。

9830
来自专栏后端技术探索

实用篇-无处不在的Location

location配置是nginx模块化配置中最出色的一个设计,几乎所有nginx的业务场景都要通过书写多个location配置来顺应业务需要。语法配置和执行规则...

12520
来自专栏青玉伏案

窥探Swift编程之错误处理与异常抛出

在Swift 2.0版本中,Swift语言对其错误处理进行了新的设计,当然了,重新设计后的结果使得该错误处理系统用起来更爽。今天博客的主题就是系统的搞一下Swi...

21650
来自专栏java思维导图

【一分钟知识】断言,Error和Exception区别

1、将GB2312编码的字符串转换为ISO-8859-1编码的字符串 ? 2、断言(assert) 软件开发中是一种常用的调试方式 断言用于保证程序最基本、关键...

35680
来自专栏开源优测

移动测试Appium之API手册

移动测试Appium之API手册 前言 本文对Appium Python Client中webdriver.py代码进行分析说明。 笔者使用python3.6版...

46290
来自专栏JetpropelledSnake

Python面试题之Python反射机制

 我们要导入另外一个模块,可以使用import.现在有这样的需求,我动态输入一个模块名,可以随时访问到导入模块中的方法或者变量,怎么做呢?

39620
来自专栏编程

Python面向对象6:​isinstance、super、有序字典

1、isinstance(对象名,类),查看对象是不是类的实例。 案例1:isinstance(对象名,类) classFoo: print('hh') obj...

20480

扫码关注云+社区

领取腾讯云代金券