python线程

本文介绍了Python线程的基础知识,包括线程的概念、并发与并行的区别,并通过案例代码展示了线程的创建与使用,包括共享全局变量、线程同步(互斥锁)以及如何避免死锁。此外,还提到了一个使用多线程实现的UDP聊天器应用。
摘要由CSDN通过智能技术生成

一、基础知识

\qquad 线程是程序中一个单一的顺序控制流程。进程内有一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指令运行时的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
\qquad 单核CPU在同一时刻只能运行一个线程,电脑上能同时运行多个程序,是因为CPU在运行的时候,CPU随机选取一个程序运行,然后在随机选取另一个程序运行,由于CPU每次选取程序运行的时间极短,所以认为感觉到的是多个程序一起运行。
\qquad 当任务数大于CPU核数时成为并发,当任务数大于或者等于CPU核数时,称为并行。

二、案例代码

\qquad 1) 编写程序打印5行1,5行2

import time

def test1():
    for i in range(5):
        print("---1---")
        time.sleep(1)

def test2():
    for i in range(5):
        print("---2---")
        time.sleep(1)
        
def main():
    test1()
    test2()

if __name__ == "__main__":
    main()

\qquad 上述代码运行的结果是打印一行“—1---”后等1秒,再打印一行"—1---",这样打印5行"—1---“后,等1秒后继续打印”—2---",再等1秒钟,继续打印"—2---",直至打印5行"—2---",整个过程总

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值