Python 线程_thread 本文共有2575个字,关键词: 使用线程锁,主线程可以在子线程都退出后立即退出。import _thread from time import sleep from datetime import datetime def get_date_str(dt): return datetime.strftime(dt, '%Y-%m-%d %H-%M-%S') def subthread(thid, sec, lock): print(f'subthread-线程{thid},Start at {get_date_str(datetime.now())} ,sleep{sec} s') sleep(sec) print(f'subthread-线程{thid},End at {get_date_str(datetime.now())} ,sleep{sec} s') lock.release() def subthread2(thid, sec, lock): print(f'subthread2-线程{thid},Start at {get_date_str(datetime.now())} ,sleep{sec} s') sleep(sec) print(f'subthread2-线程{thid},End at {get_date_str(datetime.now())} ,sleep{sec} s') lock.release() def main(): print('-' * 10 + 'ALL START:' + get_date_str(datetime.now()) + '-' * 10) locks, loops = [], [4, 2] for i in range(len(loops)): lock = _thread.allocate_lock() lock.acquire() locks.append(lock) for i in range(len(loops)): _thread.start_new_thread(subthread, (i, loops[i], locks[i])) #启动另一个方法 lock = _thread.allocate_lock() lock.acquire() locks.append(lock) _thread.start_new_thread(subthread2, (1, 1, locks[2])) for i in locks: while i.locked(): pass print('-' * 10 + 'ALL End:' + get_date_str(datetime.now()) + '-' * 10) if __name__=='__main__': main() 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 梦白沙 (๑>ڡ<)☆谢谢老板~ 1元 2元 5元 10元 50元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 Python 2022-04-23 评论 305 次浏览