多线程操作

进程,负责维护一个应用程序的启动及运行,一个应用程序的启动至少要保持一个进程,这个进程负责给任务指定县城,通过负责分配内存空间,是一个管理者。

一个进程中至少存在一个线程,被称为主线程,除了主线程,还有一些分线程,线程就是用于同时执行多个任务的。

线程是执行任务的最小单位,进程和线程是由操作系统来决定如何分配进程和线程。

主线程,在进程中是唯一的,一般比较大量数据处理任务不会交给主线程来执行,一旦主线程被数据处理任务阻塞,会导致程序运行不流畅,分到分线程执行,分线程阻塞不会导致程序的卡顿。

Python中提供了两个模块用于操作多线程

thread threading,threading模块是对threading模块功能更完善。

import threading

thread_obj = threading.Thread(target=该分线程要调用的函数,name=‘分线程的名字’)

启动分线程thread_obj.start()

分线程的代码执行完毕后再去执行主线程的后续代码

thread_obj.join()

线程锁;当多个分线程同时对一个数据进行修改时,可能会导致数据的结果出错,所以需要用线程锁

先创建线程锁

thread_lock=threading.Lock()

当一个线程进入之后,先进行枷锁,其他线程无法进入

thread_lock.acquire()

执行结束之后,再打开,让其他等待状态的线程进入

thread_lock.release()

thread=threading.Threading(target=run_thread,name='Thread',args=(5,))

target=run_thread 分线程要执行的函数

name=Thread 分线程的名字

args=(5,) args参数是给目标函数run_thread传递参数,是一个元组类型


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值