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

2017-07-07 董付国 Python小屋 Python小屋

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小屋”公众号近期主要活动:

1、Python师资培训班:8月6日-12日,济南,面向全国高校老师和企业朋友,通知详见关于举办2017年暑期全国高校教师 “Python编程及应用”培训班通知,赠送Python教材2本、Python教学PPT超过1600页,Python教学视频140集,Python教学案例300个,以及教学大纲、教案、考试题库等全套资源。补充说明:如果不需要安排住宿的话,5天学费2100元(含午餐)。