美文网首页
python自学计划-多线程-18

python自学计划-多线程-18

作者: 你缺少想象力 | 来源:发表于2018-12-12 17:42 被阅读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

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

相关文章

网友评论

      本文标题:python自学计划-多线程-18

      本文链接:https://www.haomeiwen.com/subject/feephqtx.html