python多线程编程—创建线程

Python提供了thread,threading模块对多线程编程提供支持。threading模块是对thread模块的封装。多数情况用threading模块进行多线程编程。本文主要介绍Python创建线程的几种方式。

1.使用thread模块创建线程
thread模块提供了start_new_thread函数,用来创建线程。start_new_thread成功创建线程后会返回线程标识。其函数原型如下:

    thread.start_new_thread(function,args[,kwargs])
  • function:线程中执行的函数名
  • args:元组形式的参数列表
  • kwargs:可选参数,以字典形式指定参数

    以下是代码示例

import thread
def run(n):
    for i in range(n):
        print i
thread.start_new_thread(run,(5,))`

使用threading模块创建线程
通过继承threading模块中的thread创建新类,重载run方法后,可以用start方法创建线程。线程创建后将运行run方法。

代码示例
import threading,time

class Myhread(threading.Thread):          #继承thread类
    def __init__(self,id):                #定义初始化方法
        threading.Thread.__init__(self)   #调用父类的初始化方法
        self.id = id
    def run(self):                        #重载run方法
        for i in range(self.id):
            print i

t = Myhread(10)
t.start()

除了通过继承threading.Thread创建类以外,还可以使用thread.Thread直接在线程中运行函数。

代码示例

import threading
def run(x,y):
    for i in range(x,y):
        print i
t = threading.Thread(target=run,args=(1,9))
t.start()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值