草庐IT

concurrency-runtime

全部标签

java - Eclipse 上的 Glassfish 4 - 超时 - java.util.concurrent.TimeoutException

我在让Glassfish服务器实际启动并在Eclipse(luna)安装上保持运行时遇到了麻烦。我已经让Glassfish在Netbeans中运行良好。我已经在Eclipse中创建了服务器,我可以启动它,但进度条达到大约69%然后停止并最终给我一个错误:Unabletostartserverontime.java.util.concurrent.TimeoutException奇怪的是,在等待错误出现的同时,我也可以转到localhost:8080并且服务器正在运行,我也可以转到管理控制台。我也增加了超时(开始时为240秒),但同样的事情发生了。我已经在Eclipse中删除并重新创建了

Java 内存模型 : reordering and concurrent locks

Java内存模型要求在同一监视器上同步的synchronizeblock对在这些block内修改的变量强制执行事前事后处理。示例://inthreadAsynchronized(lock){x=true;}//inthreadBsynchronized(lock){System.out.println(x);}在这种情况下,只要线程A已经通过了synchronizedblock,线程B就会看到x==true。现在我正在重写大量代码以使用java.util.concurrent中更灵活(据说更快)的锁,尤其是ReentrantReadWriteLock。所以这个例子看起来像这样:编辑:示

java - Runtime.availableProcessors : what is it going to return?

Java1.6中Runtime.availableProcessors()的javadoc非常不具体。是只看硬件配置,还是看负载?它是否足够聪明,不会被超线程愚弄?它是否通过linuxtaskset命令遵守一组有限的处理器?我可以添加一个我自己的数据点:在一台有12个内核和超线程的计算机上,Runtime.availableProcessors()确实返回24,这不是决定尝试运行多少线程的好数字。这台机器显然没有完全闲置,所以它也不能以任何有效的方式查看负载。 最佳答案 在Windows上,GetSystemInfo使用了返回的SY

java - 是否有 Runtime.getRuntime().exec() 的替代方法

只是想知道,是否有比Runtime.getRuntime().exec()更好、更新、更安全、更快等的东西。我想从我在Linux上的应用程序运行另一个进程,这是我知道的唯一方法。如果有替代方案就好了。 最佳答案 ProcessBuilder怎么样??多一点:在Java1.5中引入,允许您获得对进程环境的更多控制-设置工作目录,让您将错误流重定向到输入流(来自javaPOV)等等。来自Oracle'ssite:ProcessBuilder-ThenewProcessBuilderclassprovidesamoreconvenient

java - 如何在 java.util.concurrent.atomic 包中定义的类中实现原子性?

我正在浏览java.util.concurrent.atomic.AtomicInteger的源代码,以了解该类提供的原子操作是如何实现原子性的。例如AtomicInteger.getAndIncrement()方法源码如下publicfinalintgetAndIncrement(){for(;;){intcurrent=get();intnext=current+1;if(compareAndSet(current,next))returncurrent;}}我无法理解在无限循环中编写操作序列的目的。它在Java内存模型(JMM)中是否有任何特殊用途。请帮我找到一个描述性的理解。提

Java:SingleThreadScheduledExecutor & java.util.concurrent.RejectedExecutionException

我有这个问题,我有privateScheduledExecutorServiceexecutor=Executors.newSingleThreadScheduledExecutor();以及每50毫秒创建一次的任务:executor.scheduleAtFixedRate(myTask,0,50,TimeUnit.MILLISECONDS);myTask有时需要一段时间才能完成(例如2-3秒左右),但newSingleThreadScheduledExecutor保证下一个计划的myTask将等到当前任务完成。但是,我有时会收到此错误:执行:java.util.concurrent.

java - 从 Runtime.getRuntime().exec() 启动 wkhtmltopdf : never terminates?

我正在从我的Java应用程序(Tomcat服务器的一部分,在Win764位上的EclipseHelios中以Debug模式运行)中启动wkhtmltopdf:我想等待它完成,然后再做更多的事情。Stringcmd[]={"wkhtmltopdf",htmlPathIn,pdfPathOut};Processproc=Runtime.getRuntime().exec(cmd,null);proc.waitFor();但是waitFor()永远不会返回。我仍然可以在Windows任务管理器中看到该进程(使用我传递给exec()的命令行:看起来不错)。并且有效。wkhtmltopdf生成我

java - Runtime.getRuntime().exec()

只有当数据库名称包含(新数据库(myid)等)时,我才能读取文件。我给出以下示例代码:dumpCommand="C:/ProgramFiles/MySQL/MySQLServer5.0/bin/mysqldump-h"+hostName+user+databaseName;Runtimert=Runtime.getRuntime();Processproc=rt.exec(dumpCommand);InputStreamin=proc.getInputStream();BufferedReaderbr=newBufferedReader(newInputStreamReader(in)

java - 包含多个空格的参数上的 Runtime.exec

如何进行以下运行?publicclassExecTest{publicstaticvoidmain(String[]args){try{//NoticethemultiplespacesintheargumentString[]cmd={"explorer.exe","/select,\"C:\\NewFolder\\file.txt\""};//btwthisworks//Stringcmd="explorer.exe/select,\"C:\\NewFolder\\file.txt\"";//andsurprisinglythisdoesn'twork//String[]cmd={

java - java.util.concurrent.Delayed 真的迫使我违反 equals/compareTo 一致性吗?

尝试使用Java的DelayQueue,我必须实现Delayed接口(interface),它需要一个compareTo()"methodthatprovidesanorderingconsistentwithitsgetDelaymethod.".目的当然是DelayQueue可以轻松地对排队的对象进行排序,以便下一个用完延迟的对象可以返回给任何接受者。现在我还需要提前从队列中删除对象。我需要调用delayQueue.remove(queuedObject)。这当然只有在排队的对象有一个equals()方法来反射(reflect)它们的有效负载而不是完全不相关的剩余延迟时间时才有效。