在linux 单进程内存限制的限制下,如果是一个cpu密集型业务怎么考虑同时启动的线程数量

多线程,限制线程数运行, - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 20时,
新手代码,求指点求改进.
代码片段(1)
1.&[代码][Python]代码&&&&
#encoding:utf8
import threading
import time
def func(sleeptime):
global data
print threading.currentThread().getName()
time.sleep(sleeptime)
threads = []
for i in range(0,40):
t = threading.Thread(target=func,args=(i,))
threads.append(t)
for t in threads:
while True:
#判断正在运行的线程数量,如果小于5则退出while循环,
#进入for循环启动新的进程.否则就一直在while循环进入死循环
if(len(threading.enumerate()) & 5):
开源中国-程序员在线工具:
21行是个不间断的循环,可能造成无谓的CPU,应该多用线程的join函数获取线程结束的通知,这样这段等待的时间就不会消耗CPU了。
2楼:七液 发表于
引用来自“郭煜”的评论21行是个不间断的循环,可能造成无谓的CPU,应该多用线程的join函数获取线程结束的通知,这样这段等待的时间就不会消耗CPU了。话说python的多线程安全了?能用了?太不可思议了
3楼:乌龟壳 发表于
引用来自“七液”的评论引用来自“郭煜”的评论21行是个不间断的循环,可能造成无谓的CPU,应该多用线程的join函数获取线程结束的通知,这样这段等待的时间就不会消耗CPU了。话说python的多线程安全了?能用了?太不可思议了python的多线程和真实的多线程编程差不多,该加锁的加锁等等。只不过GIL导致多核给力不起来。不过个人觉得多进程模型也不错,进程间用管道等通讯也能解决同步问题,同时也能利用多核。像Linux向来推荐多进程,所以lua等语言的设计从头就不去考虑多线程的互斥。设计得好的话多进程性能也不差。
4楼:龙上 发表于
引用来自“郭煜”的评论21行是个不间断的循环,可能造成无谓的CPU,应该多用线程的join函数获取线程结束的通知,这样这段等待的时间就不会消耗CPU了。我不太清楚这个join函数怎么使用,能否按照上面例子帮忙改改?
5楼:tiantian_orz 发表于
你是在写线程池吗?&
6楼:iiiiiiiii 发表于
可以用信号量吧。
7楼:张豪飞 发表于
起码把你while True里面加一个sleep(0.1)。不然你看看是不是一个cpu直接跑满
开源从代码分享开始
龙上的其它代码酷勤网 C 程序员的那点事!
当前位置: &
& 关于“超线程技术”的主题文章列表
【超线程技术】超线程技术是在一个CPU同时执行多个程序而共同分享一个CPU内的资源
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。超线程技术是在线程级别上并行处理命令,按线程动态分配处理器等资源。该技术的核心理念是“并行度(Parallelism)”,也就是提高命令执行的并行度、提高每个时钟的效率。这就需要软件在设计上线程化,提高并行处理的能力。
【】【】【】【】君,已阅读到文档的结尾了呢~~
线程与进程区别
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
线程与进程区别
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口> 问题详情
下列关于线程的叙述中,不正确的是A.线程是进程中的一个实体,是CPU调度和分派的基本单位B.一个线
悬赏:0&答案豆
提问人:匿名网友
发布时间:
下列关于线程的叙述中,不正确的是A.线程是进程中的一个实体,是CPU调度和分派的基本单位B.一个线程可以创建和撤销另一个线程C.同一个进程中的多个线程之间不可以并发执行D.线程也同样有就绪、等待和运行3种基本状态请帮忙给出正确答案和分析,谢谢!
为您推荐的考试题库
您可能感兴趣的试题
1作业由三部分组成,包括程序、数据和A.作业说明书B.作业控制块C.作业基本情况描述D.作业控制描述2CPU对外部设备的控制方式有Ⅰ.循环测试I/O方式Ⅱ.中断处理方式Ⅲ.直接内存存取方式Ⅳ.通道方式A.Ⅰ,Ⅱ和ⅣB.Ⅱ,Ⅲ和ⅣC.Ⅰ,Ⅱ和ⅢD. 全部3用页式方法来分配和管理内存空间,即把内存划分为若干大小相等的页面;用段式方法对用户程序按照其内在的逻辑关系划分成若干段;再按照划分内存页面的大小把每一段划分成若干大小相等的页面,这种存储管理是A.段式存储管理B.页式存储管理C.段页式存储管理D.页面式存储管理4下列叙述中,正确的是A.分区存储管理能够充分利用内存,实现对内存的扩充B.对内存空间的划分是动态的而不是静态的C.对内存空间的划分是静态的而不是动态的D.对内存空间的划分必须是等长的
我有更好的答案
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
找答案会员
享三项特权
找答案会员
享三项特权
找答案会员
享三项特权
选择支付方式:
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
常用邮箱:
用于找回密码
确认密码:

我要回帖

更多关于 易语言限制进程网速 的文章

 

随机推荐