什么是线程:
线程是依赖于进程而存在的,线程之间的数据是共享的,并且线程的开销要小于进程。
如何创建一个线程?
可以通过两种方式来创建线程,第一种就是通过导入Python中的模块的方式。
# 第一种方式:
from threading import Thread
# 第二种方式:
用过类继承的方式来实现:
class MyThread(Thread):
# 需要重写内部的run方法
def run():
如何运行线程?
首先创建一个线程对象,其中内部的参数和进程所需要添加的参数是相同的。
之后采用 对象.start() 方法来启动线程。
线程的重命名和线程的传参
#例子如下
from threading import current_thread
class MyTread1(Thread):
def __init__(self,name):
super().__init__()
self.name = name
def run(self):
for i in range(5):
print('ALbert is study ',i)
print(current_thread().name)
time.sleep(0.2)
class MyTread2(Thread):
def __init__(self,name):
super(MyTread2,self).__init__()
self.name = name
def run(self):
for i in range(3):
print('ALbert is listening_music ',i)
class MyTread3(Thread):
def __init__(self,uname,name):
super(MyTread3,self).__init__()
self.uname = uname
self.name = name
def run(self):
for i in range(5):
print(f'ALbert is chatting with {self.uname},the {i}')
if __name__ =='__main__':
t1 = MyTread1('t1')
t2 = MyTread2('t2')
t3 = MyTread3('ning','t3')
t1.start()
t2.start()
t3.start()
t1.join()
t2.join()
t3.join()
print('-------over---------')
# join表示插入,如果不加入join,那么over就会在每个线程之间进行输出,但是加上之后,保
#证over在最后进行输出。