Python多任务编程-02线程概念

一.引入

如果一个程序想同时执行多个部分的代码, 那么基本满足2种方式进行实现:

线程和进程。

二.线程

1)线程是一个抽象的概念,可以理解为程序执行代码时的那个执行流。(运行程序时的箭头,即程序运行的那一行)

2)当一个程序运行的时候,默认有一个线程,这个线程成为主线程。

3)多任务也就是可以理解为让你的代码再进行的过程中,额外创建一些线程,让这些线程去执行代码。

4)Python如果想使用线程实现多任务,可以使用thread模块,但是它比较底层,也就是说使用过程复杂,不方便;因此推荐使用threading模块,它对thread进行了一些包装,可以更方便的使用。

三.使用Threading模块

1) 单线程运行:即只有一个线程的程序

Python多任务编程-02线程概念_第1张图片

红色箭头可以理解为线程,即此时程序执行到这里。

2)多线程运行

1.导入threading模块

2.使用threading模块中的thread创建一个对象

3.调用这个实例对象的start方法让这个线程进行运行

示例代码如下:

import threading
import time


# 定义一个式例函数
def task_1():
    while True:
        print("我好帅")
        time.sleep(1)


# 使用threading模块中的thread创建一个对象
t1 = threading.Thread(target=task_1)  # target传入对应的函数名    若是带括号则是传入函数的返回值

# 调用这个实例对象的start方法让这个线程进行运行
t1.start()
while True:
    print("我好美")
    time.sleep(1)

注意点:

1)函数传参中target = 函数名,若是带括号则是传入函数的返回值

2)主线程经过start后继续执行,创建的分线程在task_1中开始执行

3)主线程和子线程的执行优先级不确定,由操作系统决定

输出结果:

Python多任务编程-02线程概念_第2张图片

你可能感兴趣的:(开发语言,python,人工智能)