python thread
发布时间:2020-12-20 10:22:30 所属栏目:Python 来源:网络整理
导读:?原文: https://www.cnblogs.com/LY-C/p/9482766.html 多线程下共享同一进程资源 from threading import Threadt = Thread(target,args)target:表示调用对象,即线程要执行的任务args:表示调用对象的参数”元组“ 方法 t.start() #启动线程t.join() #等待
?原文:https://www.cnblogs.com/LY-C/p/9482766.html 多线程下共享同一进程资源 from threading import Thread t = Thread(target,args) target:表示调用对象,即线程要执行的任务 args:表示调用对象的参数”元组“ 方法 t.start() #启动线程 t.join() #等待线程执行结束在执行后面的代码 单线程示例 from threading import Thread import time def func(): print(‘子进程‘) if __name__ == ‘__main__‘: t = Thread(target=func) t.start() time.sleep(1) print(‘主进程‘) 多线程和多进程示例 from threading import Thread from multiprocessing import Process import os import time def son(n): pass if __name__ == ‘__main__‘: start = time.time() for i in range(100): t = Thread(target=son,args=(‘线程‘,)) t.start() print(time.time() - start) for i in range(100): p = Process(target=son,args=(‘进程‘,)) p.start() print(time.time() - start) 递归锁和互斥锁 from threading import Lock,RLock Lock() #互斥锁,一把钥匙配一把锁 l = Lock() #创建锁 l.acquire() #上锁 l.acquire() #死锁 print(123) l.release() #开锁 l.release() RLock() #递归锁,可以有无止尽的锁,但是会有一把万能钥匙,同一进程下不会阻塞,不同进程会阻塞 l = RLock() #创建锁 l.acquire() #上锁 l.acquire() #上锁,同一进程下不会死锁 print(123) l.release() #开锁 l.release() #开锁,上多少锁就开多少锁 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |