问个多线程的问题

jwmwdxxxx 2009-12-23 11:18:12
线程类里是一个循环 我如果开5个线程访问这个线程类 只能一个线程走完里面的循环才会进行第二个线程 问如何用多线程解决这个问题 我的目的是5个线程一起进到线程类里去一起完成这个循环 并且不会把循环的顺序搞乱 谢谢
...全文
332 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
jwmwdxxxx 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wy19280469 的回复:]
用mina 框架

或者是nio

就可以解决你的问题

或者Socket 用线程池

eg:Executer exec = Executors.newFixed……(线程池的数量)

然后用exec.execute(执行你逻辑线程)


[/Quote]
这个建议很不错 mina这个框架很强大啊
zhangyy130 2009-12-25
  • 打赏
  • 举报
回复
确实男理解
jwmwdxxxx 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 wychjl 的回复:]
lz的意思就跟多线程下载相似

[/Quote]
确实是这个意思 不过我已经实现了这个功能:多线程断点续传
shadow55 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 coldanimal 的回复:]
可以做到 但没有意义

按顺序执行又要多线程  还不如单线程
[/Quote]加锁啊,其他的方面顶6楼观点
J20082020 2009-12-25
  • 打赏
  • 举报
回复
路过 顶!顶!顶!顶!顶!
b11ght 2009-12-25
  • 打赏
  • 举报
回复
ls的,哎,对你无语了。哈哈。
零起跑线 2009-12-25
  • 打赏
  • 举报
回复
看在头像的份上顶一个
笨翔 2009-12-24
  • 打赏
  • 举报
回复
lz的意思就跟多线程下载相似
zhuqingtao 2009-12-24
  • 打赏
  • 举报
回复
哎,都是高人啊
jwmwdxxxx 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 jacktanlikejava 的回复:]
提这种问题的人可以肯定一点:脑子坏掉了!
多线程不能随意的使用,使用多线程是有前提条件的,不是所有的操作都是适合使用多线程。你这个要求只能用白痴来形容,吃饱了撑着。
不懂多线程,就乖乖的用单线程完成,并非使用了多线程就比单线程效率高。线程的上下文切换的代价是很高的。
[/Quote]
这人毛病 我就是喜欢用多线程 不懂不可以学么 你生下来就会多线程?
avoidxx 2009-12-24
  • 打赏
  • 举报
回复
可以考虑7楼的答案
beiouwolf 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 jwmwdxxxx 的回复:]
楼上有几位没有明白我的意思 我的意思是开5个线程 而线程类有一个循环 我们假定这个循环次数为5次 所以开5个线程执行这个程序的时候其实运行了5*5次 问如何避免这种混乱 我只想让开的5个线程各管一次循环 这样是否比一个线程效率上要来的快点呢
[/Quote]

那你何必要用多线程?
完全是一个单线程需求阿
skywave11 2009-12-24
  • 打赏
  • 举报
回复
关注中~~~
jacktanlikejava 2009-12-24
  • 打赏
  • 举报
回复
提这种问题的人可以肯定一点:脑子坏掉了!
多线程不能随意的使用,使用多线程是有前提条件的,不是所有的操作都是适合使用多线程。你这个要求只能用白痴来形容,吃饱了撑着。
不懂多线程,就乖乖的用单线程完成,并非使用了多线程就比单线程效率高。线程的上下文切换的代价是很高的。
islandrabbit 2009-12-24
  • 打赏
  • 举报
回复
这个有点像4X100接力赛,只要不掉棒的话......
crazylaa 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 jwmwdxxxx 的回复:]
楼上有几位没有明白我的意思 我的意思是开5个线程 而线程类有一个循环 我们假定这个循环次数为5次 所以开5个线程执行这个程序的时候其实运行了5*5次 问如何避免这种混乱 我只想让开的5个线程各管一次循环 这样是否比一个线程效率上要来的快点呢
[/Quote]

怎么可能?你这不就是单线程要做的事吗?开5个线程还要创建5个对象,创建对象的不要时间?晕死。
jwmwdxxxx 2009-12-24
  • 打赏
  • 举报
回复
楼上有几位没有明白我的意思 我的意思是开5个线程 而线程类有一个循环 我们假定这个循环次数为5次 所以开5个线程执行这个程序的时候其实运行了5*5次 问如何避免这种混乱 我只想让开的5个线程各管一次循环 这样是否比一个线程效率上要来的快点呢
liu_liyang 2009-12-24
  • 打赏
  • 举报
回复
目前我理解的就是。。一个可以使用锁定。第二个可以用sleep的大小来实现。。。
magicelfzz 2009-12-24
  • 打赏
  • 举报
回复
一个个加锁就可以啦~~~~
whut0802 2009-12-23
  • 打赏
  • 举报
回复
同步
加载更多回复(14)

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧