程序调用函数时,代码还没有运行完毕cpu就没响应了!! 我表达的不太清楚,我的意思是我的函数停在那不继续执行了.cpu空闲 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把代码贴出来看看.在循环中加点sleep,gc什么的. public void run() { processurl(); } public void processurl() { String url; String site; String sort; Vector sortUrlV=new Vector(); Vector detailUrlV=new Vector(); String pageurl; sortUrlV=getnewsurl(); Enumeration sortUrlE=sortUrlV.elements(); while(sortUrlE.hasMoreElements()&& (!isStopped()) ) { sort=sortUrlE .nextElement().toString().trim(); site=sortUrlE .nextElement().toString().trim(); url=sortUrlE .nextElement().toString().trim(); detailUrlV=getDetailUrl(url,site); Enumeration detailUrlE=detailUrlV.elements(); while(detailUrlE.hasMoreElements() && (!isStopped())) { pageurl=detailUrlE.nextElement().toString() .trim(); try { if (isSleepScheduled()) { try { Thread.sleep(SLEEP_TIME); setSleepScheduled(false); } catch (InterruptedException ie) { setStopped(true); break; } } getnews(pageurl, site, sort); } catch (Exception e) { setStopped(true); break; } synchronized (this) { if (isSuspended()) { try { this.wait(); setSuspended(false); } catch (InterruptedException ie) { setStopped(true); break; } } } if (Thread.interrupted()) { setStopped(true); break; } } } }sortUrlV和detailUrlV比较大,getnews(pageurl, site, sort)运行一次要半分钟左右.经常是while循环执行不完就不继续了.请大家帮忙看看什么问题,怎么解决一下?另外,我用public synchronized void setStopped(boolean stop) {stopped = stop; }控制线程的暂停,可是isstopptd=ture却暂停不了,这是哪的问题?3x 如何编写bat文件,能够执行cmd下的java执行命令?? 一个JAVA问题。。 Java 2 图形设计卷Ⅱ:SWING》在网上找的怎么都是不全? 大家一起来做加法实现乘法的题(J2SE考试题)进者都有分 java的导出与导入 参数怎么按引用传递? 输出空 array 会是问题吗? 求助:第三方package类路径的问题 关于bean与servlet使用. 高手们请救救我,为什么我的VAJ里可视化组合和源代码不能照应??急,急,急! 数租、矢量使用上有什么具体的区别吗? 大家使用jdbc connection的时候是即时连接尽早关闭,还是持续连接,避免反复开关啊?
在循环中加点sleep,gc什么的.
{
processurl();
}
public void processurl()
{
String url;
String site;
String sort;
Vector sortUrlV=new Vector();
Vector detailUrlV=new Vector();
String pageurl; sortUrlV=getnewsurl();
Enumeration sortUrlE=sortUrlV.elements();
while(sortUrlE.hasMoreElements()&& (!isStopped()) )
{
sort=sortUrlE .nextElement().toString().trim();
site=sortUrlE .nextElement().toString().trim();
url=sortUrlE .nextElement().toString().trim();
detailUrlV=getDetailUrl(url,site);
Enumeration detailUrlE=detailUrlV.elements();
while(detailUrlE.hasMoreElements() && (!isStopped()))
{
pageurl=detailUrlE.nextElement().toString() .trim();
try {
if (isSleepScheduled()) {
try {
Thread.sleep(SLEEP_TIME);
setSleepScheduled(false);
}
catch (InterruptedException ie) {
setStopped(true);
break;
}
}
getnews(pageurl, site, sort);
} catch (Exception e) {
setStopped(true);
break;
}
synchronized (this) {
if (isSuspended()) {
try {
this.wait();
setSuspended(false);
}
catch (InterruptedException ie) {
setStopped(true);
break;
}
}
}
if (Thread.interrupted()) {
setStopped(true);
break;
}
}
}
}
sortUrlV和detailUrlV比较大,getnews(pageurl, site, sort)运行一次要半分钟左右.经常是while循环执行不完就不继续了.
请大家帮忙看看什么问题,怎么解决一下?
另外,我用public synchronized void setStopped(boolean stop) {stopped = stop; }控制线程的暂停,可是isstopptd=ture却暂停不了,这是哪的问题?
3x