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
相关问答:
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 52 in the jsp file: /vip_info.jsp ÕË cannot be resolved 49: <table border="1& ......
要求: 1、具有2年以上的java开发工作经验,精通java; 2、熟悉Eclipse开发工具,熟悉WEB开发,具有两年以上Java开发经验,掌握面向对象的软件设计方法, 有Spring、Hibernate以及 ......
最近一个项目中遇到一个问题:在原有的一套系统中(php开发)添加一些小功能(jsp开发),原来用户系统都是php开发的,我如何在jsp开发的功能中做到用户信息session同步呢? 有人是否有做过类以项目,想听听大家的看法 ......
各位老大好。。。小弟有一个乱码问题急需帮忙解决 我在本页中用request.getParameter("name")取变量。。变量的赋值为汉字。我在页面的开头加了<%@ page language = "java" contentType=&quo ......