Code前端首页关于Code前端联系我们

基础入门笔记Python:线程和进程

terry 2年前 (2023-09-25) 阅读数 49 #后端开发

线程和进程

线程和进程的概念我就不详细讲了。您可以在网上搜索信息来查找。

我们直接面对问题:如果我们想用Python进行多任务处理,该怎么办?

解决办法有两种:

  1. 一是从几个步骤开始。虽然每个进程只有一个线程,但多个进程可以同时执行许多任务。
  2. 还有一种方式是启动一个进程,并在同一个进程中启动多个线程,这样多个线程就可以同时执行多个任务。

当然还有第三种方式,就是启动多个进程,每个进程启动多个线程,这样可以同时执行很多任务。当然,这种模型比较复杂,实际中很少使用。

简单来说,实现多任务有三种方式:

  • 多进程模式;
  • 多线程;
  • 多功能+多线程模式。

多任务。通常,这些任务是不相关的,但需要相互联系和协调。有时,任务 1 必须暂停并等待任务 2 完成才能恢复执行。有时,任务3和任务4不能同时执行,这样多进程多线程程序的复杂度就比我们之前写的单进程单线程程序高很多。。

4.1 多线程程序

实际上,线程创建后,线程并不总是保持状态。它们的状态如下:

  • 就绪。等待时间表
  • 正在运行 正在运行
  • 已阻塞 已阻塞。阻塞可能发生在Wait Locked Sleeping
  • Dead Death

线程有不同的状态和类型。可分为:

  • 主线程
  • 子线程
  • 守护线程(后台线程)
  • 前台线程

线程创建:

双文本模块。他们是kofehykofehy

。前者是比较低端的模型,用于较低级别的任务,不用于一般开发。

import time
import threading


class MyThread(threading.Thread):
    def run(self):
        for i in range(5):
            print('thread {}, @number: {}'.format(self.name, i))
            time.sleep(1)

def main():
    print("Start main threading")

    # 创建三个线程
    threads = [MyThread() for i in range(3)]
    # 启动三个线程
    for t in threads:
        t.start()

    print("End Main threading")


if __name__ == '__main__':
    main()
复制代码

本节内容较多,本文重点讲解Python的基础知识。关于线程和进程的更多信息,我会在网上查找资料来了解更多,或者以后有时间我会更新在这里。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门