论坛首页 Java企业应用论坛

java多线程性能浅析

浏览 16610 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-12-22  
iehyou 写道
神之小丑 写道
ch_space 写道
whaosoft 写道
郁闷啊 为什么我总是用不到 线程呢 是不是水平太低了

不是,是因为你的电脑只有一个核,用了也没啥作用,哈哈~


什么叫“电脑只有一个核,用了也没啥作用”?!!!

天天围着业务转


同意,现在我也是搞业务越来越多了...哎...
0 请登录后投票
   发表时间:2010-12-22   最后修改:2010-12-22
sunzixun 写道
嘿,哥们,我这样来说说,请指教


1.单核,无IO,网络等资源操作情况下
   结果:多线程比单线程理论上要慢
=============================
这个时候,如果你把你的任务T分成不相竞争的子任务分 成T1 T2
然后使用1:1 的LWP模型, 那么你分到的时间片比原来只有T 的要多.所以多线程可能更快
就像分布式里面的map -reduce
但是不同的OS ,不同的当时内核调度算法(系统其他任务,不同版本内核),结果可能都不同

2.单核,有IO,网络等资源操作情况下
   结果:多线程比单线程理论上要快
===============================
参考N10论文,你就知道为什么单线程的epoll比多线程的快.为什么jdk要用NIO

3.多核,无IO,网络等资源操作情况下
   结果:不确定
===============================
嘿,大家都不确定

4.多核,有IO,网络等资源操作情况下
   结果:多线程比单线程理论上要快
===================================

如果内核调度需要而把你放到SMP任务队列,那么和第2条一样结果


呵呵,首先哥们对线程的理解另我汗颜,有几个问题请教。
第1条,线程的启动调度耗费的资源和采用LWP模型后多获取点cpu处理时间那个合算点?
第2条,NIO需要一个守护线程来不停的扫描Selector,在单核的情况下确定比阻塞IO快吗?
第4条,SMP不熟能解释下吗?但是结论我就不赞同了,多核时多一个守护线程来扫描Selector,IO处理使用NIO,如果单线程还比多线程快,我就郁闷了。
0 请登录后投票
   发表时间:2010-12-22  
是不是多线程和socket玩转的才是高手?
0 请登录后投票
   发表时间:2010-12-22  
woshicaiqiang 写道
是不是多线程和socket玩转的才是高手?

不知道,因为我不是高手
0 请登录后投票
   发表时间:2010-12-22   最后修改:2010-12-22
chs1987 写道
kingjiang09 写道
神之小丑 写道
ch_space 写道
whaosoft 写道
郁闷啊 为什么我总是用不到 线程呢 是不是水平太低了

不是,是因为你的电脑只有一个核,用了也没啥作用,哈哈~


什么叫“电脑只有一个核,用了也没啥作用”?!!!


和电脑多少个核没有太大的关系吧? 难道你的电脑只有一个核就只能开一个浏览器?

这么明显的玩笑话都要较真。。。

哪里看出我较真了?关我鸟事,我打酱油的。JE就你这样装C的多,问题不答,就爱装C.
0 请登录后投票
   发表时间:2010-12-23  
kingjiang09 写道
神之小丑 写道
ch_space 写道
whaosoft 写道
郁闷啊 为什么我总是用不到 线程呢 是不是水平太低了

不是,是因为你的电脑只有一个核,用了也没啥作用,哈哈~


什么叫“电脑只有一个核,用了也没啥作用”?!!!


和电脑多少个核没有太大的关系吧? 难道你的电脑只有一个核就只能开一个浏览器?


不好意思,你能开多个浏览器是因为你是多进程操作系统系统。
0 请登录后投票
   发表时间:2010-12-23  
即便是在单核的情况下,你的多线程(多进程)也可以与别的程序抢CPU等资源...
0 请登录后投票
   发表时间:2010-12-23  
毕竟红尘 写道
即便是在单核的情况下,你的多线程(多进程)也可以与别的程序抢CPU等资源...

没错,环境复杂,影响因素众多,理论上分析和小概率事件不相矛盾,因为你的多线程也可能被别的程序抢cpu资源。
0 请登录后投票
   发表时间:2010-12-23  
chs1987 写道
kingjiang09 写道
神之小丑 写道
ch_space 写道
whaosoft 写道
郁闷啊 为什么我总是用不到 线程呢 是不是水平太低了

不是,是因为你的电脑只有一个核,用了也没啥作用,哈哈~


什么叫“电脑只有一个核,用了也没啥作用”?!!!


和电脑多少个核没有太大的关系吧? 难道你的电脑只有一个核就只能开一个浏览器?

这么明显的玩笑话都要较真。。。

程序员的通病
0 请登录后投票
   发表时间:2010-12-23  
chenyongxin 写道
woshicaiqiang 写道
是不是多线程和socket玩转的才是高手?

不知道,因为我不是高手

书到用时方恨少啊。玩转的不一定是高手,不过,肯定的是,玩不转的肯定不是高手。我就玩不转。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics