小编geo*_*ley的帖子

ExecutorService,如何等待所有任务完成

等待ExecutorService完成所有任务的最简单方法是什么?我的任务主要是计算,所以我只想运行大量的工作 - 每个核心一个.现在我的设置如下:

ExecutorService es = Executors.newFixedThreadPool(2);
for (DataTable singleTable : uniquePhrases) {   
    es.execute(new ComputeDTask(singleTable));
}
try{
    es.wait();
} 
catch (InterruptedException e){
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

ComputeDTask实现runnable.这似乎正确执行任务,但代码崩溃wait()IllegalMonitorStateException.这很奇怪,因为我玩了一些玩具示例,它似乎工作.

uniquePhrases包含数万个元素.我应该使用其他方法吗?我正在寻找尽可能简单的东西

java multithreading executorservice threadpool

186
推荐指数
9
解决办法
18万
查看次数

eclipse从崩溃中恢复过来

当我的计算机崩溃时,我已经打开了eclipse - 现在我已经重新启动了,我的项目中出现了各种错误.看起来好像某些文件不包含最近进行的更改.我很确定我在坠机前保存了所有东西.有谁知道恢复的最佳方法?

java eclipse crash

6
推荐指数
1
解决办法
3766
查看次数

在Java中匹配非空格

我想检测其中包含非空白字符的字符串.现在我正在尝试:

!Pattern.matches("\\*\\S\\*", city)
Run Code Online (Sandbox Code Playgroud)

但它似乎没有奏效.有没有人有什么建议?我知道我可以修剪字符串并测试它是否等于空字符串,但我宁愿这样做

java regex string whitespace

6
推荐指数
2
解决办法
2万
查看次数

如何为无环有向图的顶点分配“级别”?

我有一个无环有向图。我想为每个顶点分配级别,以确保如果边(v1,v2)在图中,则level(v1)> level(v2)。每当(v1,v2)和(v3,v2)在图中时,如果level(v1)= level(v3),我也希望它。同样,可能的级别是离散的(也可以将它们取为自然数)。理想的情况是,每当(v1,v2)在图中并且没有从v1到v2的其他路径时,level(v1)= level(v2)+1,但是有时在其他约束条件下是不可能的-例如,考虑在五个顶点为边(a,b)(b,d)(d,e)(a,c)(c,e)的图中。
有谁知道一个体面的算法来解决这个问题?我的图很小(| V | <= 25左右),所以我不需要快速进行操作-简单性更为重要。

到目前为止,我的想法是只找到一个最小元素,将其分配为0级,找到所有父级,将它们分配为1级,并通过在适当的顶点上添加+0.5来解决矛盾,但这似乎很糟糕。

另外,我感觉删除所有“隐式”边缘可能会有所帮助(即,如果图形同时包含(v1,v2)和(v2,v3),则删除(v1,v3)。

java algorithm graph directed-acyclic-graphs

3
推荐指数
1
解决办法
1820
查看次数

改变R中点的大小

我想使用 R 基础图形制作散点图,但如果需要的话我可以使用 ggplot。我有一个数据框,其中包含 x 和 y 坐标,以及其他两个协变量,称为 a 和 b。我希望每个点的大小随 a 变化(a 的高值 -> 较大的点),每个点的亮度/硬度随 b 变化(以便那些 b 足够低的点实际上是不可见的)。有人对如何做到这一点有任何建议吗?R 图形的文档看起来很全面,但是非常笼统和高级,我几乎不知道从哪里开始。感谢您的帮助

graphics plot r

2
推荐指数
1
解决办法
2万
查看次数