当前位置:首页 » 编程语言 » python线程参数

python线程参数

发布时间: 2025-04-22 17:01:01

A. Python多线程编程之线程结束

线程管理包括线程创建、线程启动、线程休眠、等待线程结束和线程停止。线程创建、线程启动、线程休眠前文已提到过,这里不再赘述。

1 等待线程结束

等待线程结束使用的是join()方法,当前线程调用t1线程的join()方法时则阻塞当前进程,等待t1线程结束。如果t1线程结束或等待超时,则当前线程回到活动状态继续执行。join()方法语法如下:

join(timeout=None)

参数timeout是设置超时时间,单位是s。如果没有设置timeout,则可以一直等待

当一个线程依赖于另一个线程的运行结果时,就可以调用另一个线程的join()方法等待它运行完成

example:

_value=0defthread_body():globalshared_valueprint('ThreadA开始......')for_inrange(5):print('ThreadA执行中......')shared_value+=1time.sleep(1)print('ThreadA结束......')defmain():print('主线程开始......')t1=threading.Thread(target=thread_body,name='ThreadA')t1.start()print('主线程被阻塞......')t1.join()print(f'value={shared_value}')print('主线程继续执行......')

result:

主线程开始......ThreadA开始......主线程被阻塞......ThreadA执行中......ThreadA执行中......ThreadA执行中......ThreadA执行中......ThreadA执行中......ThreadA结束......value=5主线程继续执行......

这里设置了一个共享变量shared_value,线程主体中对该变量进行了修改。在主函数里面调用了t1的join()方法,就会导致主线程阻塞,等待线程t1执行结束,主线程才会继续执行。从结果来看,主线程缺失被阻塞了,打印出来的shared_value的值已经由0变成5了

2 线程停止

对于有些复杂业务,需要设置一个线程停止变量来决定线程停止。例如,有一个抓取数据的系统,每隔半小时获取执行一次数据抓取任务。数据抓取任务一般在子线程中进行,休眠一段时间再执行。这个子线程中国会有一个死循环。为了能停止子线程,应设置一个线程停止变量

example:

importthreadingimporttimeis_running=Truedefthread_body():whileis_running:print('ThreadA开始......')#数据抓取任务print('ThreadA执行中......')time.sleep(1)print('ThreadA结束......')print('整个程序执行完成')defmain():print('主线程开始......')t1=threading.Thread(target=thread_body)t1.start()command=input('请输入停止指令:')ifcommand=='exit':globalis_runningis_running=Falseif__name__=='__main__':main()

result:

主线程开始......ThreadA开始......ThreadA执行中......请输入停止指令:exitThreadA结束......整个程序执行完成

这里设置了一个线程停止变量is_running,默认值为True.当用户通过键盘在控制台输入exit时,其值变为False,然后程序终止。需要注意的是,控制台输入exit后,还需要按enter键才可以。

热点内容
ie内核缓存 发布:2025-05-09 21:19:35 浏览:543
第五人格服务器错误是怎么解决 发布:2025-05-09 21:14:24 浏览:512
压缩系数z 发布:2025-05-09 21:01:51 浏览:652
双开助手缓存的文件在哪 发布:2025-05-09 21:01:41 浏览:525
酒仙脚本 发布:2025-05-09 21:00:40 浏览:905
牙髓存储 发布:2025-05-09 20:50:22 浏览:433
安卓如何看自己去过哪里 发布:2025-05-09 20:37:23 浏览:695
电脑怎么制作手机版的我的世界服务器 发布:2025-05-09 20:36:45 浏览:533
免流脚本破解 发布:2025-05-09 20:33:49 浏览:182
微信图书馆源码 发布:2025-05-09 20:31:40 浏览:955