实现同时运行多个线程工作,主要通过信号量的设置,但还是在一个CPU上执行,具体要实现的例子可以放在函数里执行,实现单核多并发,还等待什么...... #!/usr/bin/env python # -*- coding: utf-8 -*- import threading import time import random def work_func(): print "worker thread is started at %s"% threading.current_thread() random.seed() time.sleep(random.random()) print "worker thread is finished at %s"%threading.current_thread() def sinple_thread_demo(): for i in range(100): t=threading.Thread(target=work_func) t.start() def worker_func_lock(lock): lock.acquire() work_func() lock.release() gLock=threading.Lock() gSem=threading._Semaphore(100)#信号量,允许同时运行的线程数 def thread_demo_lock(): for i in range(100): #sl=threading.Thread(target=worker_func_lock,args=[gLock]) sl=threading.Thread(target=worker_func_lock,args=[gSem])#参数传入信号量 sl.start() if __name__=="__main__": #sinple_thread_demo()#通过锁实现串行 thread_demo_lock()
PYTHON 多线程信号量
原创
©著作权归作者所有:来自51CTO博客作者DBAspace的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:MySQL分库分表备份
下一篇:MySQL的分表和分区介绍
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
深入浅出Java多线程(五):线程间通信
大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第五篇内容:线程间通信。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!
Java Java多线程 线程 多线程 线程通信