java如何多线程并发执行?

假如现在有一个list,对于list中的每一项list.get(i)都要执行一个方法check(list.get(i)),如何利用多线程让这些执行并发运行,如果这个che... 假如现在有一个list,对于list中的每一项list.get(i)都要执行一个方法check(list.get(i)),如何利用多线程让这些执行并发运行,如果这个check()方法可能需要占用较长时间,怎么做才能在点击某一个方法执行多线程的时候就可以去处理其他事情,不必等到所有线程都结束才可以进行其他操作。让这些线程在后台自动运行,所有方法都执行完就结束。本人接触java编程不久,还希望各位大侠帮帮忙。 展开
 我来答
MIZYIEKR
2012-06-11 · 超过12用户采纳过TA的回答
知道答主
回答量:141
采纳率:0%
帮助的人:61.1万
展开全部
把对这个list的check行为放到一个多线程里面去做.这样当执行这个方法的时候.程序就会立刻返回,也就可以去处理其他事情了.线程会在后台执行.
不要把每个check都用一个线程,这样的并发问题,是非常复杂.
public void method(){
Thread t = new Thread() {
@Override
public void run() {
//dosomething
//线程在后台执行你想执行的东西
}
};
t.start();
//该方法执行后,立刻返回,让程序得意执行其他操作
}
追问
是不是在public void run(){}方法里面执行
for(int j=0;j<list.size;j++){
check(list.get(j))
}啊,如果不是还请告知怎么弄,我就是想实现异步,在调用方法之后可以立即去执行别的操作而不需要等里面东西运行完,至于是不是多线程都不在乎。多谢了
百度网友03677c4
推荐于2016-06-13 · TA获得超过306个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:147万
展开全部
是不是在public void run(){}方法里面执行
for(int j=0;j<list.size;j++){
check(list.get(j))
}啊,如果不是还请告知怎么弄,我就是想实现异步,在调用方法之后可以立即去执行别的操作而不需要等里面东西运行完,至于是不是多线程都不在乎。多谢了

就是你说的这样
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忆似血中剑
2012-06-11 · TA获得超过275个赞
知道小有建树答主
回答量:556
采纳率:0%
帮助的人:250万
展开全部
如果不是必须要等到check返回结果的话,可以采用异步编码的方式,具体思路:在代码中新起一个线程让他执行check的代码即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式