成都网站建设
|
域名注册
|
虚拟主机
|
网站制作
|
网站案例
|
网站优化
|
网站推广
|
企业邮局
|
服务器租用
|
广告设计
首页
服务器租用
企业邮箱
虚拟主机
网站程序
营销推广
网站建设
域名注册
前端开发
网站备案
网站策划
|
网站建设
|
网站案例
|
虚拟主机
|
网站推广
|
云服务器
|
成都网站制作公司
|
php空间
|
独立IP空间
|
jsp虚拟主机
网站程序
java教程
asp程序
asp.net程序
vb编程
php程序
C#程序
服务器租用
web服务器
FTP服务器
服务器托管
服务器租用
vps主机服务器
企业邮箱
企业邮箱优势
企业邮箱设置
邮箱收发问题
邮箱功能讲解
邮箱其他问题
虚拟主机
主机购买
数据库
主机管理
FTP上传
主机续费升级
营销推广
seo优化
网站推广
搜索引擎
免费资源
网站建设
网站方案
网站改版
网页设计
网站维护
网站策划
域名注册
域名转入\转出
英文域名
通用网址
中文域名
域名解析
前端开发
html
jQuery
JavaScript教程
css
div+css
网站备案
备案流程指南
备案资料下载
备案常见问题
各省备案要求
移动互联网
wap手机网站
app应用开发
微网站
当前位置:
创新互联
>>
常见问题
>>
网站程序
>>
java教程
>>
Java多线程方案如何处理关键代码
Java多线程方案如何处理关键代码
作者:创新互联 文章来源:网站程序部 点击数:
更新时间:2010-12-04
Java
多线程方案在不断的完善中已经找到了自己的各种缺点,下面我们就来看看如何才能更好的学习相关问题。希望大家在不断的学习中有所收获,自由在不断的学习中才能更好的进行掌握Java多线程方案。
1、当每个迭代彼此独立,并且完成循环体中每个迭代的工作,意义都足够重大,足以弥补管理一个新任务的开销时,这个顺序循环是适合并行化的。
2、
Java
多线程方案关键代码如下:
public<T> voidParallelRecursive(final Executorexec,List<Node<T>>nodes,Collection<T> results){
for(Node<T> n:nodes){
exec.execute(new Runnable(){
public void run(){
results.add(n.compute());
}
});
parallelRecursive(exec,n.getChildren(),results);
}
}
public<T>Collection<T>getParallelResults(List<Node<T>>nodes)
throws InterruptedException{
ExecutorService exec=Executors.newCachedThreadPool();
Queue<T> resultQueue=newConcurrentLinkedQueue<T>();
parallelRecursive(exec,nodes,resultQueue);
exec.shutdown();
exec.awaitTermination(Long.MAX_VALUE,TimeUnit.SECONDS);
return reslutQueue;
}
但是以上程序不能处理不存在任何方案的情况,而下列程序可以解决这个问题
public class PuzzleSolver<P,M>extendsConcurrentPuzzleSolver<P,M>{
...
privatefinal AtomicInteger taskCount=new AtomicInteger(0);
protectedRunnable newTask(P p,M m,Node<P,M>n){
return new CountingSolverTask(p,m,n);
}
classCountingSolverTask extends SolverTask{
CountingSolverTask(P pos,Mmove,Node<P,M> prev){
super(pos,move,prev);
taskCount.incrementAndGet();
}
publicvoid run(){
try{
super.run();
}
finally{
if (taskCount.decrementAndGet()==0)
solution.setValue(null);
}
}
}
}
以上就是
Java
多线程方案关键代码的详细介绍。
PECOS技术简介
:上一篇
Java源码:URL编程 -创新互联
:下一篇
java教程相关文章
PECOS技术简介
网站建设中对象和数组的初始化表达...
java开发与技术挑战——关于技...
Java和JavaSript的不...
JAVA中浅复制与深复制
Java编程中线程池的最大性能开...
java程序中使用SSH框架的好...
java中OutOfMemory...
专注网站建设、网页设计、网站制作、企业网站建设——创新互联
移动互联网
|
网站备案
|
前端开发
|
域名注册
|
网站建设
|
营销推广
|
网站程序
|
虚拟主机
|
企业邮箱
|
服务器租用
|
热门搜索
服务电话:028-86922220 13518219792 公司地址:成都市太升南路288号锦天国际A幢10楼2号
企业邮箱:
service@cdxwcx.com
版权所有:成都创新互联科技有限公司 蜀ICP备09010846号
成都网站建设