我们在学Python的线程前我们首先要了解什么是线程
线程
概念
线程:进程的中每个子任务,不能独立存在
而进程是说有独立的子任务的集合
它们的目的都是想同时完成任务
特点
进程的特点:独立(内存独立,CPU独立),启动开销大,进程之间很难共享数据,通讯,共享数据,安全性高。
线程的特点:依赖进程(内存共享,CPU独立),启动开销小,线程容易共享数据,方便通讯,安全性低。
接下来我们创建线程
threading 模块创建线程
我们可以通过直接从 threading.Thread 继承创建一个新的子类,并实例化后调用 start() 方法启动新线程,即它调用了线程的 run() 方法:
import threading
import time
exitFlag = 0
class mytime (threading.Thread):
def __init__(self, threadID, name, counter):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.counter = counter
def run(self):
print ("开始线程:" + self.name)
print_time(self.name, self.counter, 5)
print ("退出线程:" + self.name)
def print_time(threadName, delay, counter):
while counter:
if exitFlag:
threadName.exit()
time.sleep(delay)
print ("%s: %s" % (threadName, time.ctime(time.time())))
counter -= 1
创建新线程
a1 = mytime (1, “Thread-1”, 1)
a2 = mytime (2, “Thread-2”, 2)
开启新线程
a1.start()
a2.start()
a1.join()
a2.join()
print ("退出主线程")