python 多线程编程

多线程指的是同一进程下启动多个线程运行一个程序。有一个主线程 “main thread”,有两种方法可以创建线程:

import threading
thread = threading.Thread(target = None,name = None,args = (),kwargs = {})

target :线程需要运行的函数
name:线程名称

args  :函数参数元组

kwargs:函数参数字典

第二种创建方法是继承 threading.Thread 类

import threading
threadLock = threading.Lock()
class MyThread(threading.Thread):
    def __init__(self,name):
        threading.Thread.__init__(self) # 必须先执行主类的构造函数
        self.name = name
    def run(): # 线程需要执行的内容写在 run 函数
        print "Starting " + self.name
        # 获得锁,主要是为了线程同步,否则可以完全不用下面两行代码
        threadLock.acquire()  # 如果成功获得锁定后会返回 True
        threadLock.release()  # 释放锁

注意我们在创建线程时,别忘了还有一个主线程 “main thread”,并且多线程是 默认可以共内存的,但是多进程 默认无法共内存!

线程方法说明:

start(): 一旦线程被创建,它的活动需要通过调用线程的 start() 方法来启动

is_alive():一旦线程被激活,则这线程被认为是’alive’(活动)。当它的run()方法终止时-正常退出或抛出未处理的异常,则活动状态停止。is_alive() 方法测试线程是否活动,大致上,线程从 start()调用开始那点至它的run()方法中止返回时,都被认为是活动的。

join():一个线程可以调用另一个线程的 join() 方法,直到被调用线程结束,否则调用线程会一直阻塞。

setName():设置线程名称,getName() 获取线程名称

setDaemon():设置为 “守护线程”,这标志的特点是当剩下的全是守护线程时,则Python程序退出。标志用 setDaemon(True) 或 setDaemon(False) 设置,用isDaemon()获取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值