单线程 和多线程区别,看打印输出1000个数字效果

执⾏过程: 加载func() -> 执⾏main -> 创建⼦线程t -> ⼦线程t启动 ->

执⾏func中的内容 |-> 继续执⾏main

复制代码
from threading import Thread
#此线程不用安装自带。T是大写注意哟
def func():
    for i in range(1000):
        print('func',i)
#定义一个函数打印
if __name__ == '__main__':
    t=Thread(target=func)
    t.start()
    for i in range(1000):
        print("main",i)

#子线程要启动,刚开始两个慢,分开执行,有时共同,到最后几乎同时跑。

复制代码
class myThread(Thread):
    def run(self):
        for i in range(1000):
            print('func',i)

这段 Python 代码定义了一个名为 myThread 的类,它继承自 Thread 类。

myThread 类重写了 run 方法,在 run 方法中通过一个循环打印 'func' 和循环变量 i 。

在 if name == 'main': 部分,创建了 myThread 类的实例 t ,然后调用 start 方法启动线程。同时,在主程序中也有一个循环打印 'main' 和循环变量 i 。

这样,两个循环会并发执行,输出会交替显示 func 和 main 以及对应的数字。您是对这段代码的执行结果有疑问,还是在编写过程中遇到了什么问题呢?

相关推荐
清酒难咽5 小时前
算法案例之递归
c++·经验分享·算法
Rabbit_QL5 小时前
【水印添加工具】从零设计一个工程级 Python 图片水印工具:WaterMask 架构与实现
开发语言·python
天“码”行空6 小时前
简化Lambda——方法引用
java·开发语言
让我上个超影吧6 小时前
【力扣26&80】删除有序数组中的重复项
算法·leetcode
z20348315206 小时前
C++对象布局
开发语言·c++
Beginner x_u6 小时前
如何解释JavaScript 中 this 的值?
开发语言·前端·javascript·this 指针
java1234_小锋6 小时前
Java线程之间是如何通信的?
java·开发语言
张张努力变强7 小时前
C++ Date日期类的设计与实现全解析
java·开发语言·c++·算法
沉默-_-7 小时前
力扣hot100滑动窗口(C++)
数据结构·c++·学习·算法·滑动窗口
钱彬 (Qian Bin)7 小时前
项目实践19—全球证件智能识别系统(优化检索算法:从MobileNet转EfficientNet)
算法·全球证件识别