首页
论坛
图书
开发资料
在线文档
网址
下载
联系我们
 新闻│Java│JavaScript│Eclipse│Eclipse 英文│J2EE│J2ME│J2SE│JSP│Netbeans│Hibernate│JBuilder│Spring│Struts
站内搜索: 请输入搜索关键词

当前页面: 开发资料首页 → Java 专题 → 如何创建自运行对象

如何创建自运行对象

摘要: 如何创建自运行对象

</td> </tr> <tr> <td width="462" height="35" valign="top" class="ArticleTeitle">
自运行对象是自运行类自动创建的一个在对象内部运行的内部线程。
这个线程一般在构造函数中(或适时)启动,用户不需要关心和启动线
程以及线程工作的细节。下面是创建自运行对象的常用方法:
public class InnerSelfRun extends Object {
private Thread internalThread;
private volatile boolean noStopRequested;
public InnerSelfRun() {
// 初始化工作放在这里
System.out.println("in constructor - initializing...");
// 返回前必须启动线程
noStopRequested = true;
Runnable r = new Runnable() {
public void run() {
try {
runWork();
} catch ( Exception x ) {
x.printStackTrace();
}
}};
internalThread = new Thread(r);
internalThread.start();
}

private void runWork() {
while ( noStopRequested ) {
System.out.println("in runWork() - still going...");
try {
Thread.sleep(700);
} catch ( InterruptedException x ) {
Thread.currentThread().interrupt(); // re-assert interrupt

}
}
}

public void stopRequest() {
noStopRequested = false;
internalThread.interrupt();
}

public boolean isAlive() {
return internalThread.isAlive();
}
}

public class InnerSelfRunMain extends Object {
public static void main(String[] args) {
InnerSelfRun sr = new InnerSelfRun();
try { Thread.sleep(3000); } catch ( InterruptedException x ) { }
sr.stopRequest();
}
}
Squish.java是一个自运行的图像动画组件,请下载分析。
function TempSave(ElementID) { CommentsPersistDiv.setAttribute("CommentContent",document.getElementById(ElementID).value); CommentsPersistDiv.save("CommentXMLStore"); } function Restore(ElementID) { CommentsPersistDiv.load("CommentXMLStore"); document.getElementById(ElementID).value=CommentsPersistDiv.getAttribute("CommentContent"); } </td> <td width="222" valign="top" class="ArticleTeitle">
</td></tr> <tr> <td height="25" colspan="2" valign="top" class="ArticleTeitle">


↑返回目录
前一篇: 等待-直到模式
后一篇: 获取Java VM中当前运行的所有线程

首页 | 全站 Sitemap | 联系我们 | 设为首页 | 收藏本站
版权所有 Copyright © 2006-2007, Java 编程资料牛鼻站, All rights reserved