为了账号安全,请及时绑定邮箱和手机立即绑定

程序性能问题

程序性能问题

潇潇雨雨 2018-10-25 05:06:04
如果一个方法内含有一个for循环,测出这个方法执行需要20秒,当有100个客户端同时访问时,方法执行时并行还是串行的。如果是串行的那不是最后一个相应的客户为2000秒?    方法应该是引用变量,那就是说所有用户都同时访问同一个地址的内容?    求解,最好比较详细
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

这个问题要这么分析,for 循环执行20秒 时CPU占用率是多少,如果是100%(单CPU环境) ,那么并发时虽然是多线程并行处理,但由于CPU资源有限,并行处理的多个线程并不能得到足够的CPU资源,那么100个客户并发时其响应时间很可能是每个客户都是2000秒(因为是并行)。如果CPU不是100%,那么要具体分析程序的阻塞是怎么造成的,是IO,还是数据库调用还是锁定,网络等等,多线程并发时在这种情况下要考虑的问题更多,比如数据库的锁定问题,内核对象的互锁问题,IO的并行访问问题等等。

查看完整回答
反对 回复 2018-10-29
?
动漫人物

TA贡献1815条经验 获得超10个赞

现在的程序,基本上是多线程的了,特别是web,所以你不用担心

 

所有方法都可以同时访问同一个地址的内容,但是若要修改,请记得加锁,否则你将会有万分之一的几率出错^_^


查看完整回答
反对 回复 2018-10-29
  • 2 回答
  • 0 关注
  • 261 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信