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
现在说说多线程的常见问题,多个线程同时访问一个数据,会导致出现问题,比如经典的买票问题,买者买者就成负了。
(下一篇说吧= =)
网友评论