草庐IT

Wait-Process

全部标签

java - 线程中断 : will it cancel oncoming wait() call?

我有一个线程,它有一个传入的作业队列(一个包含作业描述的LinkedList)。当没有工作可处理时,线程会在队列中用wait()阻塞。外部作业调度程序对象在将新作业放入队列时使用notify()将其唤醒。在我的程序关闭时,我在线程上调用了interrupt()。当线程等待wait()中的作业时,这会引发InterruptedException。我的问题是:如果我在Thread没有阻塞但在做某种工作时中断它会发生什么,处理的项目是队列中的最后一个(因此队列现在是空的)并且执行通过isInterrupted()在设置中断标志之前检查以便再次调用wait()?它会抛出InterruptedE

java - 创建一个显示 "Please Wait"JDialog 的 swing 线程

问题是这样的:我有一个swing应用程序正在运行,在某个时候,对话框需要输入用户名和密码并按“确定”。我希望当用户按下“确定”时,swing应用程序按以下顺序执行:打开“请稍候”JDialog进行一些操作(最终显示一些其他的JDialog或JOptionPane)完成操作后关闭“请稍候”JDialog这是我在okButtonActionPerformed()中编写的代码:privatevoidokButtonActionPerformed(java.awt.event.ActionEventevt){//ThisclasssimplyextendsaJDialogandcontains

java - 执行者 : How to synchronously wait until all tasks have finished if tasks are created recursively?

我的问题与thisonehere密切相关.正如在那里发布的那样,我希望主线程等到工作队列为空并且所有任务都已完成。然而,我的情况的问题是,每个任务都可能递归地导致提交新任务进行处理。这使得收集所有这些任务的future有点尴尬。我们当前的解决方案使用忙等待循环来等待终止:do{//Waituntilwearedonetheprocessingtry{Thread.sleep(200);}catch(InterruptedExceptione){thrownewRuntimeException(e);}}while(!executor.getQueue().isEmpty()||numT

java - 如何在开始和测试期间使用 Appium "wait to activity"?

我正在使用appium启动一个已安装的应用。在我的驱动程序初始化之后。如何让它轮询-等待显示特定Activity?启动时只看到这种方式等待activitycap.setCapability("app-wait-activity","activity-to-wait-for");还有别的办法吗?不初始化时如何等待另一个特定Activity。单击按钮后说?只是睡x秒? 最佳答案 特定Activity意味着正在显示某些特定元素。我使用以下代码等待屏幕上的某个特定元素:WebDriverWaitwait=newWebDriverWait(d

java - 无法理解需要使 Process.java 抽象

我正在漫不经心地浏览Java核心类的源代码。我发现Process.java文件是一个publicabstract类。当我浏览代码时没有函数有定义。这是否意味着它应该被声明为Interface。是不是有什么故意的原因。谁能帮我理解这种设计的需要。链接到code 最佳答案 Process是抽象的,因为它很可能在每个操作系统上都有不同的实现。应用程序开发人员不实现这个抽象类;它作为Java运行时的一部分实现。由于所有的方法都是抽象的,它本来可以被声明为一个接口(interface),但那样会导致该类在未来无法进化。例如,一旦在公共(pub

java.nio.文件.FileSystemException : The process cannot access the file because it is being used by another process

我正在编写一个程序,在第一次执行时将自己复制到特定文件夹,在linux或windows中工作。在linux中它工作得很好但是当我尝试在windows上做同样的事情时我得到以下错误:java.nio.file.FileSystemException:Theprocesscannotaccessthefilebecauseitisbeingusedbyanotherprocess(insun.nio.fs.WindowsException)那么,另一个进程是程序本身,我应该用什么来跳过这个错误呢?我的代码行是:publicvoidinstallProgram(){System.out.pr

java - wait() 如何在 Java 中取回锁

提倡的范例是wait()应该在同步块(synchronizedblock)内的while循环内调用。我的问题是waiting()线程如何取回锁?//Thread1synchronized(mon){while(!condition)mon.wait();//Dosomething}//Thread2synchronized(mon){//setconditionappropriatelymon.notify();}考虑线程1首先运行并开始等待条件。它释放锁,线程2获得锁设置条件并通知线程1。现在线程1获得锁,检查条件并开始执行“做某事”。我的问题是,当通知线程1它从while条件开始执

java - : Unable to Process Jar entry如何解决

我在控制台上收到此错误。谁能帮帮我(我正在使用GWT和Maven开发一个SpringMVC项目)SEVERE:UnabletoprocessJarentry[com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class]fromJar[jar:file:/C:/Users/ayush/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/transconnect/WEB-INF/lib/icu4j-2.6.1.jar!/]forannotations

java - 使用 -XX :HeapDumpPath option but want to integrate the process id

当使用-XX:+HeapDumpOnOutOfMemoryError时,如果指定路径下已有转储文件,JVM将不会覆盖堆转储。我希望能够在非默认位置拥有多个堆转储,并计划在堆转储路径中使用pid以实现这一点。但是,当我尝试像这样指定参数时:-XX:HeapDumpPath=some/heapdump/path/heapdump-%p.hprof然后创建堆转储,我得到了%p而不是文件名中的实际pid。但是,%p的使用似乎与-XX:OnOutOfMemoryError选项一起使用。-XX:HeapDumpPath=是否应该使用其他一些语法? 最佳答案

java - RUNNABLE Thread.State 但在 Object.wait()

我提取了我的容器进程的JStack并让线程在那里运行,并按Thread.state分组的以下分布:countthreadstate67RUNNABLE1TIMED_WAITING(onobjectmonitor)8TIMED_WAITING(parking)4TIMED_WAITING(sleeping)3WAITING(onobjectmonitor)17WAITING(parking)对于可运行的线程,我有以下描述:"http-bio-8080-exec-55"daemonprio=10tid=0x000000002cbab300nid=0x642binObject.wait()[