python学习-并发编程(十四)

Posted 爱打盹的猫猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习-并发编程(十四)相关的知识,希望对你有一定的参考价值。

14.2线程的创建与启动

技术图片
import threading


# 定义一个普通的action函数,该函数准备作为线程执行体
def action(max):
    for i in range(max):
        print(threading.current_thread().getName() + " " + str(i))


# 下面是主程序(也就是主线程的执行体)
for i in range(100):
    print(threading.current_thread().getName() + " " + str(i))
    if i == 20:
        # 创建并启动第一个线程
        t1 = threading.Thread(target=action, args=(100,))
        t1.start()
        # 创建并启动第二个线程
        t2 = threading.Thread(target=action, args=(100,))
        t2.start()
print(主线程执行完成!)


输出结果:
...
Thread-2 83
MainThread 99
Thread-1 81
Thread-2 84
主线程执行完成!
Thread-1 82
Thread-2 85
Thread-1 83
...
first_thread

当python程序开始运行后,程序至少会创建一个主线程,主线程的线程执行体就是程序中的主程序-没有放在任何函数中的代码。

以上程序共包含三个线程,这三个线程的执行没有先后顺序,它们以并发方式执行:Thread-1执行一段时间,然后Thread-2或MainThread获得cpu执行一段时间,接下来又换其他线程执行,这就是典型的线程并发执行-cpu以快速轮换的方式在多个线程之间切换,从而给用户一种错觉:多个线程似乎同时在执行。

简言之,多线程就是让多个函数能并发执行,让普通用户感觉到多个函数似乎同时在执行。

在默认情况下 主线程的字为 MainThread 用户 动的 线程的字依次为 Thread-1 、 Thread-2, Thread-3

14.3线程的生命周期

14.4控制线程

14.7线程池

 

以上是关于python学习-并发编程(十四)的主要内容,如果未能解决你的问题,请参考以下文章

《Python编程从入门到实践》——学习python的第十四天

golang代码片段(摘抄)

python3的学习之路十四IO编程

Java学习笔记之三十四超详解Java多线程基础

Java并发编程(十四):CallableFuture和FutureTask(转载)

Python基础(十四) | Python之禅与时间复杂度分析