草庐IT

C++11多线程—thread

全部标签

Java Thread.sleep 最短时间

这个问题在这里已经有了答案:HowaccurateisThread.sleep?(3个答案)关闭5年前。TimeUnit.sleep(longtimeout)文档这样描述它的论点:timeout-theminimumtimetosleep.但是,我发现—至少在带有Java8update141的Windows764位上—线程hibernate的时间通常少于:publicstaticvoidmain(String[]args)throwsInterruptedException{finallongfrom=TimeUnit.MILLISECONDS.toNanos(100);finallo

java - 当多个线程同时请求加载同一个类时会发生什么?

在多线程环境下,当多个线程同时引用一个类时,JVM是否最终会多次加载该类?如果不是,同步是如何发生的? 最佳答案 该类将被加载一次。参见jls12.4.2ForeachclassorinterfaceC,thereisauniqueinitializationlockLC.ThemappingfromCtoLCislefttothediscretionoftheJavaVirtualMachineimplementation.TheprocedureforinitializingCisthenasfollows:Synchroniz

java - Spring Boot 2.1.5 Java 11 模块,组装 JAR : Could not create modular JAR file. 时出错 JDK jar 工具退出 1 -> [帮助 1]

运行命令-mvnclean-Dmaven.test.skip=truepackage-X我收到以下错误。[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-jar-plugin:3.1.2:jar(default-jar)onprojectmy-module-one:ErrorassemblingJAR:CouldnotcreatemodularJARfile.TheJDKjartoolexitedwith1->[Help1]org.apache.maven.lifecycle.LifecycleExecutionExcep

java - JSF——替代 "rendered="?

我们正在开发一个Java网络应用程序,该应用程序将JSF(通过Seam的Richfaces)用于其UI。我读过几篇文章,指出在UI组件上使用“rendered=”属性会导致相当大的性能损失。我们有几个组件,我们希望根据是否设置它们的值来启用或禁用它们。例如,如果我们要展示待售商品,我们不会为未设置的属性设置一堆空白字段。然而,考虑到这种性能影响,我们对使用多个“渲染”字段感到担忧。有更好的替代方案吗?我们可以做些什么来提高使用该字段的性能? 最佳答案 如果getter除了返回一个(缓存的)boolean属性之外什么都不做,那么我真的

Java Validator 在失败时锁定文件——我做错了什么?

我正在尝试根据Java中的模式验证XML文件,问题是如果文件验证失败,则文件将被锁定,直到应用程序终止。如果输入文件有效,则文件不会被锁定,一切都很好。我正在使用javax.xml.validation.Validator和validate()方法。这看起来很简单,并且在验证通过时就可以了。我只能假设我在错误处理中遗漏了一些东西,但是Validator的API似乎没有提供任何有用的东西。谁能阐明我在这里做错了什么?我已将所有这些简化为下面的一个独立类。如果您运行它,那么在扫描程序启动时,检查输入文件,您可以看到它现在已被锁定。如果您需要,我可以提供输入和结构文件。谢谢,菲尔import

java - 单例对象工厂 : is this code thread-safe?

我有一个用于许多单例实现的通用接口(interface)。接口(interface)定义了可以抛出检查异常的初始化方法。我需要一个工厂来按需返回缓存的单例实现,想知道以下方法是否线程安全?UPDATE1:请不要建议任何第三部分库,因为由于可能的许可问题,这将需要获得法律许可:-)更新2:此代码可能会在EJB环境中使用,因此最好不要产生额外的线程或使用类似的东西。interfaceSingleton{voidinit()throwsSingletonException;}publicclassSingletonFactory{privatestaticConcurrentMap>CACH

java - Java 中可靠的 UDP 协议(protocol)实现——为什么会这样?

我目前正在使用ReliableUDP协议(protocol)的Java实现,发现here.该项目完全没有教程,所以我发现很难发现问题。我已经设置了客户端和服务器。服务器在localhost:1234上运行,客户端在localhost:1235上运行。服务器首先建立,并循环监听连接-try{ReliableSocketclientSocket=server.socket.accept();InetSocketAddressclientAddress=(InetSocketAddress)clientSocket.getRemoteSocketAddress();Logger.getLog

java - 如果我使用 JNI 从 C 的多个线程调用 java 函数会怎样?

此链接似乎表明“它只是有效”:(在7.3附加native线程下的底部相当远)http://java.sun.com/docs/books/jni/html/invoke.html我不明白这怎么可能,嵌入式JVM会自动启动自己的线程吗?或者排队JNI调用?否则怎么可能多次调用同一个虚拟机。我没有指示执行任何线程?我能想到的任何工作方式是,如果java代码将简单地在与c代码相同的调用线程中执行。那是对的吗?这意味着我不必在Java中执行任何线程。 最佳答案 jvm不必创建自己的线程,方法调用在创建它们的native线程上执行。Attac

java - 发布对象和线程安全

我在“JavaConcurrencyInPractice”中读到“在完全构造之前发布对象会危及线程安全”。有人可以解释一下吗? 最佳答案 考虑这段代码:publicclassWorld{publicstaticPoint_point;publicstaticvoidmain(String[]args){newPointMaker().start();System.out.println(_point);}}publicclassPoint{privatefinalint_x,_y;publicPoint(intx,inty){_x=

java - "Found 1 deadlock"但跟踪显示未被任何线程锁定

JVM告诉我发生了死锁:FoundoneJava-leveldeadlock:============================="TP-Processor107":waitingforownablesynchronizer0x00002aaaf58e70f0,(ajava.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),whichisheldby"indexTrackerThread3""indexTrackerThread3":waitingforownablesynchronizer0x00002aaaf4