线程是程序运行的最小单位,而进程是操作系统分配资源的最小单位
一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线
进程之间相互独立,但同一进程下的各个进程之间共享程序的内存空间及一些进程的资源,某进程内的线程在其他进程不可见。
调度和切换:线程实现文切换比进程上下文切换要快得多
创建多线程
import threading
import time
def test(x):
print(x)
time.sleep(2)
#test(1)
#test(2)
t1 = threading.Thread(target=test,age=(1,))
t2 = threading.Thread(target=test,age=(2,))#创建多线程
t1.start()
t2.start()
多线程的例子:
import threading
import time
def name():
while 1:
print("张三")
time.sleep(0.5)
def cat():
while 1:
print("猫咪在吃饭")
time.sleep(3)
t1 = threading.Thread(target=name)
t2 = threading.Thread(target=cat)
if __name__ == "__main__":
t1.start()
t2.start()
以类和继承的方式创建多线程:
# 使用类的方法实现
class Mythread1(threading.Thread):#定义一个名字类
def __init__(self, name):
threading.Thread.__init__(self)
self.name = name
def run(self): #重写
while 1:
print(self.name)
time.sleep(0.5) #2秒输出四次名字
class Mythread2(threading.Thread):#定义一个日期类
def __init__(self):
threading.Thread.__init__(self)
def run(self): #重写
while 1:
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 格式化输出当前的年月日时分秒
time.sleep(1) #1秒输出一次
if __name__ == "__main__":
t1 = Mythread1("张三")
t2 = Mythread2()
t1.start()
t2.start()
本文介绍了Python中多线程的使用,通过示例展示了如何创建和启动线程,包括基本线程创建和通过类继承的方式创建线程。强调了线程在上下文切换上的优势,并提供了两个多线程运行的例子,分别输出名字和日期。
420

被折叠的 条评论
为什么被折叠?



