草庐IT

thread_func

全部标签

JavaFx 2.x - Swing : Not on FX application thread

我正在尝试通过使用附加JFXPanel的JInternalFrame来使用JavaFx2.x和Swing应用程序下面是我的代码publicclassInternalFrameWithJavafxextendsjavax.swing.JFrame{/***CreatesnewformInternalFrameWithJavafx*/publicInternalFrameWithJavafx(){initComponents();finalJInternalFrameframe=newJInternalFrame();frame.setTitle("testInternalFrame");

java - 为什么 'extends Thread' 存在,而 'implements Runnable' 在所有情况下都是赢家

这个问题在这里已经有了答案:"implementsRunnable"vs"extendsThread"inJava(43个回答)关闭6年前。我知道implementsRunnableispreferredoverextendsThread在Java线程中,因为它允许我们在需要时扩展一些其他类。但如果是这样的话,extendsThread是否也比implementsRunnable有自己的优势,如果有,这些优势是什么?

java - JDI Thread Evaluations 遇到问题

我正在运行EclipseforJava。我创建了一个XML文件的DOM版本。现在我想更改文件中元素的属性。我在控制DOM的类中调用了一个调用方法的方法,在调试时出现了一个对话框,提示“JDI线程评估遇到问题。异常处理异步线程队列”。我是Java的新手,没有遇到过这样的错误,我也不知道是什么原因造成的。如果有人对问题的原因和/或解决问题的方法有任何建议......非常感谢! 最佳答案 留意您的“监视”表达式-如果您不需要它们,请将它们全部删除。有时某些watch表达式会导致我出现此错误消息。这也可以解释为什么它会间歇性地发生在人们身上

Java 阻塞问题 : Why would JVM block threads in many different classes/methods?

更新:这看起来像是内存问题。一个3.8Gb的Hprof文件表明,当发生这种“阻塞”时,JVM正在转储其堆。我们的运营团队看到该站点没有响应,进行了堆栈跟踪,然后关闭了该实例。我相信他们在堆转储完成之前关闭了站点。日志中没有错误/异常/问题的证据——可能是因为JVM在生成错误消息之前被终止了。原始问题我们最近遇到了一个应用程序出现——对最终用户来说——挂起的情况。我们在应用程序重新启动之前获得了堆栈跟踪,并且我发现了一些令人惊讶的结果:在527个线程中,463个线程状态为BLOCKED。过去以往被阻塞的线程通常有这样的问题:1)一些明显的瓶颈:例如某些数据库记录锁定或文件系统锁定问题导致

Java 并发数 : is final field (initialized in constructor) thread-safe?

谁能告诉我这个类是否是线程安全的?classFoo{privatefinalMapaMap;publicFoo(){aMap=newHashMap();aMap.put("1","a");aMap.put("2","b");aMap.put("3","c");}publicStringget(Stringkey){returnaMap.get(key);}}编辑:我没有澄清问题是我的错。根据JMMFAQ:Anewguaranteeofinitializationsafetyshouldbeprovided.Ifanobjectisproperlyconstructed(whichmea

java - 采访 : How to ensure that a thread runs after another?

有线程T1、T2和T3,如何保证线程T2在T1和线程T3在T2之后运行?这个问题是在我的面试中被问到的。我没有回答。请详细说明。 最佳答案 这将是最简单、最愚蠢的方法:finalThreadt1=newThread(newT1());//assumeT1isaRunnablet1.start();t1.join();finalThreadt2=newThread(newT2());t2.start();t2.join();finalThreadt3=newThread(newT3());t3.start();t3.join();

java - 是否有任何 Java 函数或实用程序类以这种方式舍入 : func(3/2) = 2?

是否有任何Java函数或utilclass以这种方式进行舍入:func(3/2)=2Math.ceil()没有帮助,顾名思义应该这样做。我知道BigDecimal,但不需要它。 最佳答案 Math.ceil()将始终向上舍入,但是您正在使用3/2进行整数除法。因此,由于在整数除法中3/2=1(不是1.5),1的上限是1。要获得您想要的结果,您需要做的是Math.ceil(3/2.0);通过双倍数(2.0)进行除法,您最终会进行浮点除法而不是整数除法。因此3/2.0=1.5,1.5的ceil()总是2。

Java Thread.stop() 与 Thread.interrupt()

我有以下代码:renderThread=newThread(newRunnable(){@Overridepublicvoidrun(){for(inti=0;irenderThread.interrupt()不会中断线程,它会继续运行。如果我用.stop()替换renderThread.interrupt(),线程就会停止。但是,不推荐使用.stop()。那么,如果stop被弃用并且interrupt不起作用,停止线程的正确方法是什么? 最佳答案 当您调用interrupt()时,它会触发一个boolean标志,告诉运行函数它应该

java - 不使用 Thread.join() 的原因

最近,高级开发人员告诉我不要使用Thread.join()来等待另一个线程完成。我还在SO上看到了几个这样的问题,要求候补者加入。在我的研究中,我没有发现join()有任何问题。事实上它被广泛使用。所以我想知道为什么不用join()?它有什么问题?它会助长糟糕的编程或架构吗? 最佳答案 join()没有任何问题。尽善尽美。但是,这就是为什么您不应该将您的应用程序架构为依赖于联接。在Java中,运行任务的主要抽象不再是线程。它是执行器。也就是说,您将并发任务包装为Callable并简单地将其提交给Executor而无需担心执行细节。这

Python func_dict 用于内存;其他有用的技巧?

Python函数对象有一个名为func_dict的属性字典,它在函数外部可见并且是可变的,但在函数被调用时不会被修改。(我从昨天问的一个问题的答案中学到了这一点(#1753232):谢谢!)我正在阅读代码(在http://pythonprogramming.jottit.com/functional_programming),它记住了斐波那契数的计算并想,“为什么不使用func_dict用于内存的属性?”它起作用了(见下文;输出在代码的末尾。)。这有点像有一个可用的类属性,但在对象外部有初始化代码(在这种情况下,不是类而是函数)。我想知道使用这个属性可以完成哪些相似(或不同)的技巧?d