python自学计划-多线程-18

2018-12-12  本文已影响0人  你缺少想象力

python中的多线程跟Java还是很像的

先说说怎么启动一个线程吧

首先要创建一个继承threading.Thread的类,重写其run方法,创建一个实例,并调用start方法就行了。
例子:

import threading

class AThread(threading.Thread):
    def run(self):
        for i in range(1, 6):
            print(i)


a_thread = AThread()
a_thread.start()

多线程顾名思义就是同时运行多个线程,为了区分每个线程,我们给每个线程取个名字
例子:

import threading

class AThread(threading.Thread):
    def __init__(self, name):
        threading.Thread.__init__(self)
        self.name = name

    def run(self):
        for i in range(1, 6):
            print("线程名:%s,结果:%s" % (self.name, i))


a_thread1 = AThread('th1')
a_thread2 = AThread('th2')
a_thread1.start()
a_thread2.start()

运行结果:

线程名:th1,结果:1
线程名:th1,结果:2
线程名:th1,结果:3
线程名:th1,结果:4
线程名:th1,结果:5
线程名:th2,结果:1
线程名:th2,结果:2
线程名:th2,结果:3
线程名:th2,结果:4
线程名:th2,结果:5

现在说说多线程的常见问题,多个线程同时访问一个数据,会导致出现问题,比如经典的买票问题,买者买者就成负了。
(下一篇说吧= =)

上一篇 下一篇

猜你喜欢

热点阅读