草庐IT

running_thread_count

全部标签

java - Thread.sleep 等待时间超过预期

以下代码:longmsBefore=System.currentTimeMillis();//Thread.currentThread().setPriority(Thread.MAX_PRIORITY);try{Thread.sleep(200);}catch(InterruptedExceptione){}System.out.println("Time:"+(System.currentTimeMillis()-msBefore));打印:Time:578Time:594Time:625Time:640Time:641Time:609Time:625Time:625Time:61

java - hibernate 异常 : Could not obtain transaction-synchronized Session for current thread

我遇到错误:Exceptioninthread"main"org.hibernate.HibernateException:Couldnotobtaintransaction-synchronizedSessionforcurrentthread主要ppService.deleteProductPart(cPartId,productId);@Service("productPartService")@OverridepublicvoiddeleteProductPart(intcPartId,intproductId){productPartDao.deleteProductPart

使用 gradle run 启动应用程序时,java.util.scanner 抛出 NoSuchElementException

我创建了一个简单的Java“echo”应用程序,它接受用户的输入并将其返回给他们以演示问题。我可以使用IntelliJ的内部“运行”命令毫无问题地运行此应用程序,并且在执行由gradlebuild生成的已编译java文件时也是如此。但是,如果我尝试使用gradlerun执行应用程序,我会从扫描器中抛出NoSuchElementException。我认为gradle或应用程序插件特别对系统IO做了一些奇怪的事情。申请packageorg.gradle.example.simple;importjava.util.Scanner;publicclassHelloWorld{publicst

java - JavaFX 中的复杂并发 : using ObservableLists and Properties from multiple worker threads

我有多个工作线程和一个JavaFXGUI,它报告这些线程中发生的事情。线程之间共享的数据很多,需要可视化。所以我使用ObservableList和Property能够轻松地在JavaFX中显示数据。我制作了一个小示例应用程序来展示与我的应用程序中发生的情况类似的内容。它有2个列表,工作线程将数据从一个列表移动到另一个列表。状态字符串保持最新。完整的示例代码可以在http://codetidy.com/6569/找到(此代码会崩溃,稍后查看)这是共享的ObservableList的&属性:privateObservableListnewItems;privateObservableLis

java - 在 Eclipse 启动配置中更改默认值 "Program to Run"

我时不时地使用从Eclipse中启动JUnit测试RunAs>JUnitPlug-inTest默认情况下,Eclipse假定您正在运行需要工作台的东西,并在启动配置的“主要”部分中进行选择LaunchConfig>Main>ProgramToRun>Runanapplication>org.eclipse.ui.ide.workbench我能理解为什么这是默认设置,但对我(以及我们团队中的所有人)来说,情况从来都不是这样。我们总是需要运行我们的JUnit插件测试作为LaunchConfig>Main>ProgramToRun>Runanapplication>[NoApplicatio

java - Thread-Safe在java中是什么意思或者什么时候我们叫Thread-Safe?

我不理解这个概念。publicclassSomeName{publicstaticvoidmain(Stringargs[]){}}这是我的类(class)SomeName。现在这里的线程是什么。我们是否将类称为线程。当其他对象试图访问它的方法或成员时,我们是否将此类称为线程?当其他对象试图访问这个对象时,我们是否将这个类称为线程?当我们在java中将某些东西称为线程安全时,这意味着什么? 最佳答案 线程安全意味着避免一些问题。最常见也可能是最糟糕的称为线程锁。古老的类比是哲学家用餐的故事。他们非常有礼貌,不会在别人夹菜的时候伸出筷

java - Java 8 findFirst().isPresent() 是否比 count() > 0 更有效?

假设我有一个流Streamstream=list.stream().filter(somepredicate)如果列表非常大,通过以下方式检查流是否非空是否更有效:stream.count()>0或者通过做:stream.findFirst().isPresent()? 最佳答案 如果你只想知道是否匹配,你应该使用list.stream().anyMatch(somepredicate),不仅因为它更高效,而且因为它是表达您意图的正确成语。正如其他人所说,anyMatch是短路的,这意味着它会在第一次匹配时停止,而count顾名思义

java - 如果在同步方法中调用,thread.yield() 是否会失去对对象的锁定?

据我所知,Thread.currentThread().yield()是对线程调度程序的通知,它可以将cpu周期分配给其他具有相同优先级的线程(如果存在)。我的问题是:如果当前线程锁定某个对象并调用yield(),它会立即失去该锁定吗?当线程调度程序发现没有这样的线程分配cpu周期时,调用了yield()的线程将再次争取锁定它之前丢失的对象?我在javadoc和论坛中找不到它[http://www.coderanch.com/t/226223/java-programmer-SCJP/certification/does-sleep-yield-release-lock]有50-50答

java - 在仔细锁定但不受信任的代码上使用 Thread.stop()

我知道Thread.stop()已被弃用,并且有充分的理由:它通常不安全。但这并不意味着它从不安全……据我所知,它在我想要使用它的上下文中是安全的;而且,据我所知,我别无选择。上下文是双人策略游戏的第三方插件:国际象棋将作为工作示例。需要给第三方代码一个当前的棋盘状态,并且(比如说)10秒来决定它的移动。它可以返回它的移动并在允许的时间内终止,或者它可以随时发出其当前首选移动的信号;如果时间限制到期,它应该停止在它的轨道上,并且应该播放它最近的首选Action。编写插件以按要求正常停止不是一个选项:我需要能够使用任意不受信任的第三方插件。所以我必须有一些方法来强行终止它。这是我为锁定它

java - 如何处理org.apache.tomcat.util.threads.TaskQueue.take()热点?

我正在使用visualvm分析我在tomcat上运行的应用程序。我正在调用一种RESTWeb服务方法,它在HBase中创建5000条记录,并向客户端返回成功和失败的计数。运行visualvmCPU采样器后,我发现org.apache.tomcat.util.threads.TaskQueue.take()是热点方法。这是热点方法的屏幕截图。有谁知道这种热点的处理方法吗? 最佳答案 这不是热点。查看Selftime(CPU)列-该方法不会消耗CPU,它只是等待Condition对象。 关于