【Python高级编程007 ● 多任务编程 ● 线程的使用】

【Python高级编程007 ● 多任务编程 ● 线程的使用】


---------Python基础编程---------

Author : AI菌


【内容讲解】

一、线程的概念:
    线程是进程中执行代码的一个分支,每个执行分支(线程)要想工作执行代码需要cpu进行调度
    也就是说线程是cpu调度的基本单位,每个进程至少都有一个线程,而这个线程就是我们通常说的主线程。
二、线程注意点:
    线程是Python程序中实现多任务的另外一种方式,线程的执行需要cpu调度来完成。
    线程使用CPU的单核运行,是一种并行的方式执行的(交替执行)
三、线程的使用
    1、导入线程模块
        import threading
    2、创建子线程并指定执行的任务
        sub_thread = threading.Thread(target=任务名)
    3、启动线程执行任务
        sub_thread.start()

【代码演示】

"""
一、线程的概念:
    线程是进程中执行代码的一个分支,每个执行分支(线程)要想工作执行代码需要cpu进行调度
    也就是说线程是cpu调度的基本单位,每个进程至少都有一个线程,而这个线程就是我们通常说的主线程。
二、线程注意点:
    线程是Python程序中实现多任务的另外一种方式,线程的执行需要cpu调度来完成。
    线程使用CPU的单核运行,是一种并行的方式执行的(交替执行)
三、线程的使用
    1、导入线程模块
        import threading
    2、创建子线程并指定执行的任务
        sub_thread = threading.Thread(target=任务名)
    3、启动线程执行任务
        sub_thread.start()
"""

# 1. 导入threading模块
import threading
import time


# 跳舞任务的函数
def dance():
    for i in range(3):
        print("跳舞中。。。")
        time.sleep(0.2)


# 唱歌任务的函数
def sing():
    for i in range(3):
        print("唱歌中。。。")
        time.sleep(0.2)


# 2. 创建子线程对象
# group: 表示线程组,目前只能使用None
# target: 表示执行的任务名(函数名或者方法名,注意不要带小括号)
# name: 给创建的线程取名字, 如果没有指定,默认的名字为Thread-1,Thread-2...
sub_thread1 = threading.Thread(target=dance)
print(sub_thread1, sub_thread1.name)
sub_thread2 = threading.Thread(target=sing, name="sub_thread2")
print(sub_thread2, sub_thread2.name)

# 3. 启动线程执行对应的任务
sub_thread1.start()
sub_thread2.start()

【运行结果】

<Thread(Thread-1, initial)> Thread-1
<Thread(sub_thread2, initial)> sub_thread2
跳舞中。。。
唱歌中。。。
跳舞中。。。
唱歌中。。。
跳舞中。。。
唱歌中。。。

【往期精彩】

▷【Python基础编程196 ● 读取文件的4种方式】
▷【Python基础编程197 ● 读取文件的4种方式】
▷【Python基础编程198 ● 读取文件的4种方式】
▷【Python基础编程199 ● Python怎么读/写很大的文件】
▷【Python基础编程200 ● 读取文件的4种方式】
▷【Python基础编程201 ● 读取文件的4种方式】
▷【Python基础编程202 ● 读取文件的4种方式】
▷【Python基础编程203 ● 读取文件的4种方式】

【加群交流】

【Python高级编程007 ● 多任务编程 ● 线程的使用】 【Python高级编程007 ● 多任务编程 ● 线程的使用】 【Python高级编程007 ● 多任务编程 ● 线程的使用】 【Python高级编程007 ● 多任务编程 ● 线程的使用】