草庐IT

Tread多线程

全部标签

java - 这在 Java 中 - 线程 "main"java.lang.StackOverflowError 中的异常

为什么我会收到stackoverflow错误?我的类(class)-publicclassTester{intid;Tester(intid){this.id=id;}publicStringtoString(){Stringrep="Hex:"+this+",Id:"+this.id;returnrep;}}主要方法-classDriver{publicstaticvoidmain(String[]args){Testert=newTester(123);System.out.println(t);}}错误-Exceptioninthread"main"java.lang.Stack

java - 为什么我的线程程序只使用一个 CPU?

我有一个执行长时间计算的程序,所以我想加快它的性能。所以我现在尝试启动3个线程,但是java.exe仍然占用25%的CPU使用率(所以,只使用了一个CPU),即使我尝试使用它仍然存在>.setPriority(Thread.MAX_PRIORITY);并实时设置java.exe的优先级(24)。我尝试使用RealtimeThread但它似乎运行得更慢。如果每个线程分配给一个处理器就完美了,总CPU使用率提高到75%,但我不知道该怎么做。这就是我的代码现在的样子:Threadg1=newMyThread(i,j);g1.setPriority(Thread.MAX_PRIORITY);g

java - 你如何在一行中挂起Java中的线程?

一行是指每行最多100个字符。(我基本上需要这个来保持程序存活。主线程注册在单独线程中运行的回调监听器。我只需要主线程永远挂起并让其他线程完成它们的工作) 最佳答案 synchronized(this){while(true){this.wait();}}(感谢CarlosHeuberger。上面代码中省略了异常处理)这将使当前线程在当前类的监视器上等待,直到有人调用notify(),或者永远等待。 关于java-你如何在一行中挂起Java中的线程?,我们在StackOverflow上找

java - 为什么从 ByteBuffer 的绝对读取不被认为是线程安全的?

我的用例需要一个直接分配的ByteBuffer写入一次,然后由许多并发线程读取。所有读取都是绝对的,所以我从不关心缓冲区的状态(位置、限制、标记)。ThisarticleKeithGregory在字节缓冲区上警告说,即使是绝对读取也不被认为是线程安全的:ByteBufferthreadsafetyiscoveredintheBufferJavaDoc;theshortversionisthatbuffersarenotthread-safe.Clearly,youcan'tuserelativepositioningfrommultiplethreadswithoutaracecond

java - Tomcat 6.0.28 在浸泡测试期间由于线程阻塞而无响应

我们对在Tomcat6.0.28和OpenJDK运行时环境(IcedTea61.11.11)上运行的新版JavaEEWeb应用程序进行了多次浸泡测试。问题出现在web层。一段时间后-第一次50分钟,第二次1小时,第三次2.5小时-我们集群Web层中的一个随机Tomcat停止响应。查看线程转储,我们看到大量线程突然阻塞。当问题发生时,线程数从93增加到437。437个线程中的341个在WebappClassLoader上被阻塞,如下所示:"TP-Processor400"daemonprio=10tid=0x00007f1ee432e800nid=0x44d9waitingformoni

java - 为什么 matlabcontrol 在代理创建时中断调用线程?

我让我的Matlab控制线程可中断,然后发现它在第一次运行时一直被中断。这是因为GetProxyRequestCallback里面有中断代码:privatestaticclassGetProxyRequestCallbackimplementsRequestCallback{privatefinalThread_requestingThread;privatevolatileMatlabProxy_proxy;publicGetProxyRequestCallback(){_requestingThread=Thread.currentThread();}@Overridepublic

java - 修复了线程池线程阻塞,当提交了足够多的任务时

我有一个流程需要并行计算许多小任务,然后按任务的自然顺序处理结果。为此,我进行了以下设置:一个简单的ExecutorService和一个阻塞队列,当Callable提交给执行程序时,我将使用它来保持返回的Future对象:ExecutorServiceexec=Executors.newFixedThreadPool(15);LinkedBlockingQueue>futures=newLinkedBlockingQueue>(15*64);一些调试代码,用于计算提交的数量和已处理的任务数量,并定期将它们写出来(注意processed在任务代码本身的末尾递增):AtomicLongpr

java - 线程卡在 getDeclaredConstructors 中的可能原因?

对于我们应用程序的一次安装,我们一直在生产中看到用户报告为“系统变慢”或“请求永不返回”的问题。最后不得不重启服务器。我们遇到了几起这样的事件,每晚重启服务器似乎是一种解决方法。我们的应用程序大量使用动态类加载(.jar文件作为blob存储在数据库中)和反射。环境详情:Java1.7.021操作系统:Linux(2.6.32-504.16.2.el6.x86_64)JBossEAP6.2正在使用Appdynamics内存和gc设置:-XX:PermSize=256m-XX:MaxPermSize=2560m-Xms2048m-Xmx10240m-server-XX:+UseParall

java - CertificateFactory.getInstance ("x.509") 线程安全吗?

我无法确定CertificateFactory.getInstance("x.509")是否线程安全?有人可以澄清一下吗?https://docs.oracle.com/javase/7/docs/api/java/security/cert/CertificateFactory.html提前致谢。 最佳答案 这个问题很老,但它是该问题的第一个谷歌搜索结果,所以这里是:调用的结果是一个CertificateFactory实现,特别是(在OracleJava中)一个sun.security.provider.X509Factory。该

java - 如果您将对象分配给最终字段,其他线程是否会看到该对象的非最终/非 volatile 字段的先前更新?

阅读Java语言规范时,我发现了这段关于final字段的摘录:Theusagemodelforfinalfieldsisasimpleone:Setthefinalfieldsforanobjectinthatobject'sconstructor;anddonotwriteareferencetotheobjectbeingconstructedinaplacewhereanotherthreadcanseeitbeforetheobject'sconstructorisfinished.Ifthisisfollowed,thenwhentheobjectisseenbyanothe