文章目录
一、介绍
线程是什么?线程有啥用?线程和进程的区别是什么?
线程是操作系统能够进行运算调度的最小单位。被包含在进程中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
二、Python如何创建线程
1. 方法一:创建Thread对象
步骤:
- 目标函数
- 实例化Thread对象
- 调用start()方法
import threading
# 目标函数1
def fun1(num):
for i in range(num):
print('线程1: 第%d次循环:' % i)
# 目标函数2
def fun2(lst):
for ele in lst:
print('线程2: lst列表中元素 %d' % ele)
def main():
num = 10
# 实例化Thread对象
# target参数一定为一个函数,且不带括号
# args参数为元组类型,参数为一个时一定要加逗号
t1 = threading.Thread(target=fun1, args=(num,))
t2 = threading.Thread(target=fun2, args=([1, 2, 3, 4, 5],))
# 调用start方法
t1.start()
t2.start()
if __name__ == '__main__':
main()
2. 方法二:创建子类继承threading.Thread类
import threading
import os
class Person(threading.Thread):
def run(self):
self.sing(5)
self.cook()
@staticmethod
def sing(num):
for i in range(num):
print('线程[%d]: The person sing %d song.' % (os.getpid(), i))
@staticmethod
def cook():
print('线程[%d]:The person has cooked breakfast.' % os.getpid())
def main():
p1 = Person()
p1.start