python-多线程1

程序\进程\线程的关系:

程序(program)

  一组功能集合的静态描述,程序至少有一个进程

进程(process)

  进程是系统进行资源分配和调度的,他们拥有自己独立的空间,进程至少有一个线程

线程(thread)

  线程是处理器调度的基本单位,他们的空间是共享的,一个进程中可以有多个线程

 

 

多线程的优点:

  使用线程可以把占据长时间的程序的任务放到后台去处理,使得用户体验更好.比如,用户点击了一个按钮去触发

某些时间的处理,可以弹出一个进度条来显示处理的进度

 

复制代码
'''
本代码主要目的:
    理解多线程运行逻辑
    熟悉语法和方法
'''

import threading 
import time #用于停顿的


class myThread(threading.Thread):    #使用多线程,必须要继承父类threading.Thread
    def __init__(self,threadID,name,counter):
        threading.Thread.__init__(self)   #固定格式,相当于线程的初始化
        self.threadID = threadID
        self.name = name
        self.counter = counter
        print('初始化完成')
        
    def run(self):    #你不能确定run()在不同线程间的执行顺序,这个由CPU处理来决定的
        print("开始" + self.name)
        print_time(self.name,self.counter,5)
        print("结束" + self.name)

def print_time(threadName,counter,delay):
    while counter:
        time.sleep(delay)#停顿5s
        print("%s:%s"%(threadName,time.ctime(time.time())))#打印线程名和时间
        counter = counter - 1

#创建线程,生成两个对象
thread1 = myThread(1,"Thread-1",1)
thread2 = myThread(2,"Thread-2",2)

#开启线程
thread1.start()    #启动线程,每个线程对象必须至少调用一次该函数,他会自动调用run()方法
thread2.start()
复制代码

 

可能会出现不同的结果,出现的顺序不同

初始化完成
初始化完成
开始Thread-1
开始Thread-2
Thread-1:Sat Jun 17 00:39:50 2017
结束Thread-1
Thread-2:Sat Jun 17 00:39:50 2017
Thread-2:Sat Jun 17 00:39:55 2017
结束Thread-2

 

 

 

 

  

  

posted @   R-Bear  阅读(248)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示