草庐IT

running_thread_count

全部标签

Java - 调用线程 : how does it route to Runnable interface's run ()? 上的启动方法

好的,我知道创建新线程并在Java中运行它的两种标准方法:在一个类中实现Runnable,定义run()方法,并将该类的一个实例传递给一个新的Thread.当调用线程实例上的start()方法时,会调用类实例的run方法。让类派生自Thread,这样它就可以覆盖方法run(),然后当一个新实例的start()方法被调用,调用被路由到覆盖的方法。在这两种方法中,基本上都会创建一个新的Thread对象并调用其启动方法。然而,在第二种方法中,调用被路由到用户定义的run()方法的机制非常清楚,(这是一个简单的运行时多态性),我不明白如何对Thread对象上的start()方法的调用被路由到实

java - Spring MVC : What happens if I start a thread in a controller action?

在SpringMVCController中,我想启动一个线程,该线程在我的Controller发送响应时继续工作。这可以与spring-mvc一起使用吗?最佳记录,海因里希 最佳答案 是的,您可以在Controller中启动新线程。但是执行异步工作的更好方法是使用spring-scheduling支持。您可以利用Quartz框架。那将管理你的工作。这link将为您介绍如何将其集成到您的应用程序中。 关于java-SpringMVC:WhathappensifIstartathreadin

Java :Kill process runned by Runtime. getRuntime().exec()

我需要写一段代码,那使用Runtime.getRuntime().exec("java-jarMyServerRunner-portMYPORT");运行unix进程通过从java代码执行命令找到进程的PIDlsof-t-i:MYPORT并通过pidkill-9PID杀死他(也可以通过从java代码执行命令)然后执行其他命令但是如果我通过Runtime.getRuntime().exec()执行此命令,我的程序将以退出代码137退出-这意味着当我运行Runtime.getRuntime().exec("kill-9PID")我终止了我的java程序的进程,但不是我从代码运行的程序。我怎

java - HotSwaping代码到 "mvnDebug tomcat:run"

通常我使用mvnDebugtomcat:run启动tomcat。代码更改后我需要使用mvntomcat:redeploy。这是次优的,因为我通常只更改现有方法体的内容。我可以将方法的主体热交换到运行时中,然后热重新部署作为回退吗?不幸的是,我没有找到像maven-hotswap-plugin这样的东西。faces-config.xml...com.sun.facelets.FaceletViewHandlerde_DEMessagemessageorg.springframework.web.jsf.el.SpringBeanFacesELResolverweb.xml:org.spr

java - Threads之间划分一个奇数

我正在学习Java中的线程,我想按字母顺序对单词列表进行排序。我的程序读取一个txt文件的单词并将它们放入一个字符串数组中。用户可以自己选择要使用多少个线程。我想将数组拆分为线程可以自行排序的均匀(尽可能)block。所以我的问题是:如何在线程间尽可能均匀地拆分array.length?我的大脑一片空白,我想不出一个聪明的方法来做到这一点。例如:如果我有一个array.length为22和4个线程,在这种情况下如何给线程;6、6、5和5大小的数组?需要适用于给定的每个数字。我尽量解释清楚了,有什么不明白的地方请追问!谢谢! 最佳答案

java - 为什么 Thread 类中的 setName 分配给字符数组?为什么不是字符串?

当我处理Java中的线程概念时,我看到了Thread.java源文件。我注意到setName()方法将字符串分配给名为"name[]"的字符数组。Java有一个String数据类型的特性,那么为什么他们使用字符数组。在源文件中,它被初始化为,privatecharname[];//whynot"privateStringname;"在setName()方法中,publicfinalvoidsetName(Stringname){checkAccess();this.name=name.toCharArray();}请帮帮我。提前致谢。 最佳答案

java - 在 Java 中使用 Thread#stop() 来终止一个正在运行的线程是否可以接受?

遗憾的是,在Java中对字符串使用正则表达式时无法指定超时。因此,如果您没有严格控制将哪些模式应用于哪些输入,您最终可能会拥有消耗大量CPU的线程,同时无休止地尝试将(设计不佳的)模式与(恶意的?)输入匹配。我知道Thread#stop()被弃用的原因(参见http://download.oracle.com/javase/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html)。它们以可能在ThreadDeath异常情况下损坏的对象为中心,然后这些对象会污染您正在运行的JVM环境并可能导致细微的错误。对于比我对JVM的工作原理有更深

java - for 循环的 "count limit"表达式是只计算一次,还是在每次迭代时计算?

如果我在循环的条件语句中调用一个方法,它会在每次循环迭代时被调用吗?例如:for(inti=0;i我会在每次迭代中执行expensiveComputation()吗?或者expensiveComputation()的结果是否会在循环变量初始化的同时存储并在每次迭代中使用?我应该改写成这样吗:intmax=expensiveComputation();for(inti=0;i 最佳答案 它将在每次迭代时被调用,除非编译器/优化器决定它没有副作用并且可以作为优化消除调用。我的意思是,编译器不能只是盲目地存储值,因为java中的函数与数学

java - Eclim - 将 org.eclim.java.run.mainclass 设置为什么?

我无法让:Java命令在eclim中工作。当我运行它时,我得到:java.lang.RuntimeException:Requiredsetting'org.eclim.java.run.mainclass'hasnotbeenset.atorg.eclim.plugin.jdt.command.src.JavaCommand.execute(JavaCommand.java:107)atorg.eclim.command.Main.main(Main.java:89)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod

java - SwingUtilites : how to return values from another thread in Java?

我正在尝试用Java开发一个应用程序。为了使Swing正常工作,我这样做了:publicstaticvoidmain(String[]array){StringouterInput;SwingUtilities.invokeLater(newRunnable(){@Overridepublicvoidrun(){//Iwantthisstringinput.Stringinput=JOptionPane.showInputDialog(null,"Stop?",JOptionPane.QUESTION_MESSAGE);});//HowcanIgetthisinputvalueinSt