python多任务、进程、线程、协程笔记

多任务笔记:

python中多任务、进程、线程、协程:

多任务即操作系统可以同时运行多个任务。
进程: 是对各种资源管理的集合,qq 要以一个整体的形式暴露给操作系统管理,里面包含对各种资源的调用,内存的管理,网络接口的调用等
线程: 是操作系统最小的调度单位, 是一串指令的集合。
进程要想操作CPU,就必须要创建一个线程(进程中至少包含一个线程)

具体详解见以下链接:

概念详解及代码:

“”"
【多任务】
阅读下段文字,说明一下
(1)什么是任务,什么是多任务
(2)什么是进程(Process)
(3)什么是线程(Thread)
(4)什么是协程(Coroutine)
了解如何使用Python创建多线程应用
“”"

import threading
import time


class MyThread (threading.Thread):
    def __init__(self, name):
        threading.Thread.__init__(self)
        self.is_run = True
        self.name = name

    def stop(self):
        self.is_run = False

    def run(self):
        for _i_ in range(10):
            if not self.is_run:
                return
            # end if
            print(self.name, _i_)
            time.sleep(1)
        # end for


if __name__ == '__main__':
    # 创建线程
    thread1 = MyThread("Thread-1")
    thread2 = MyThread("Thread-2")

    # 开启线程
    thread1.start()  # 循环10次
    thread2.start()  # 循环10次

    for i in range(3):  # 循环3次
        print('Main', i)
        time.sleep(1)
    # end for

    thread2.stop()  # 停止线程2
    print("Exiting Main Thread")

在这里插入图片描述

from threading import Thread
"""
python中,threading模块包含了创建线程和管理多线程的相关资源。
创建线程最常见的方式是扩展thread.Thread类。
新类需要实现run方法,此方法包含需要在新线程中执行的算法代码。
start方法可以将当前线程加入到就绪队列的尾部。
线程的start方法自动调用run方法。
getName()方法返回线程名称
setName()方法将线程名称修改为newName
"""


class MyThread(Thread):                    # MyThread 继承了父类Thread

    def __init__(self, name):              # 此处子类MyThread继承了父类Thread的构造方法名,_init_(name=None)初始化线程名称
        Thread.__init__(self, name=name)   # name=name 父类构造方法名 = 子类构造方法名

    def run(self):                         # run()方法当线程获取CPU资源时,执行此方法
        print("Hello, my name is %s" % self.getName())  # %格式化输出

    def main(self):                        # 用main方法开启一个新线程并在终端中正常退出
        MyThread("xiaoming").start()


if __name__ == '__main__':
    process = MyThread("xiaoming")
    process.start()                        # start()方法使得新进程进入就绪状态,只允许执行一次,否则会产生异常
    process.main()
    process.getName()

在这里插入图片描述
线程、进程、协程区别详解

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值