易截截图软件、单文件、免安装、纯绿色、仅160KB

java多线程 CPU占用率100%问题 - Java / Java SE

Java code:

main函数中:
TerminalProcess tp = new TerminalProcess();
for(int i = 0; i < proThreadNum; i++){
Thread t = new Thread(tp, "tp" + i);
t.start();
}

TerminalProcess类:
public class TerminalProcess extends Thread{
public void run(){
while(true){
processData();
}
}
}


如何使用while(true){....},就会造成线程阻塞起来,CPU占用率达到100%,如果使用sleep或者wait,好像不是最理想的方法,有没有更好的办法?请大家指点一下!
没有!这都死循环了,估计 processData 中也没有阻塞的时候,CPU 100% 是很正常的,因为 CPU 在高强度地进行计算。

都不知道这程序在干嘛,是干嘛用的。

while(TRUE)

引用
Java code

main函数中:
TerminalProcess tp = new TerminalProcess();
for(int i = 0; i < proThreadNum; i++){
Thread t = new Thread(tp, "tp" + i);
t.start();
}

TerminalProcess类:
public class Termi……


while(true)

一般多线程run方法中用while(true),就要用到wait()和notifyAll()方法,wait()可以实现线程阻塞。

适当加上sleep

while(true)不是问题,以前在pushlet框架(comet)中看到过这样的语句,就是消息订阅之类的是吧。那得如楼上所说,wait()方法控制下线程,在需要的时候才notify。把processData()方法贴出来看看吧

可以用w


相关问答:

关于AJAX和JSP的一些小问题~ - Java / Web 开发

我JSP的页面是:
<%@ page language="java" contentType="text/html; charset=gb2312"
  %>
<script>
function Save(){
xmlHttp=GetXmlHttpObject()
if(xmlHttp==nul ......

java socket email 问题 - Java / Java SE

我在 java核心技术上 看了一个 利用 Java socket email的例子 可是怎么也 不成功 为什么?
源码
Java code:

package cn.com.test.email;
import java.awt.GridBagLayout;
import java.awt.event.Action ......

HTML标签底层的实现原理、机制 - Java / Java SE

为什么HTML以及一些其它标签会显示一些特定表现形式呢?如HTML中的换行标签<BR/>在底层是怎样实现的呢?现实的原理是什么呢
去W3C官方网站上,看看吧!我想一看你就明白了

我猜和编译原理有关,浏览器里可 ......

jsp中request乱码问题(急) - Java / Web 开发

各位老大好。。。小弟有一个乱码问题急需帮忙解决
我在本页中用request.getParameter("name")取变量。。变量的赋值为汉字。我在页面的开头加了<%@ page language = "java" contentType=&quo ......

java windows7 MSSQL - Java / Java SE

使用java在windows7 32位下连接MSSQL。
两台机器,windows7 32位,在控制面板里面全部设置语言和区域选项都english-unitedstates
唯一区别只有在安装SQL server 2008的时候 选择的字符集不一样,
exec sp_helpsor ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号