多线程操作

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

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

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

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

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传递参数,是一个元组类型


猜你喜欢

转载自blog.csdn.net/a10090492/article/details/79934395