📄 20.html
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="Java,JDBC,EJB,Open Source,jdk,rmi">
<meta name="Keywords"
content="Java, servlets, Java servlet, Javascript, ActiveX, VRML,
applet, applets, directory, news, jdbc, applications,
Java applications, Java developer, Java development, developer,
classes, Jars.com, Jars, intranet, Java applet, Javabeans,
Java products, JDK, Java development kit, java development environment, JIT,
JavaPlan, enterprise tools, JVM, Java Virtual Machine, Java resources,
SUN, CGI, Perl, database, network, html,
xml, dhtml, rating, ratings, review, jars, cgi, programming,
software review, software rating">
<title>csdn_ 派生线程类</title>
<style>
.news { BACKGROUND: #007cd3; font-family: "宋体"; font-size: 9pt }
.t { font-family: "宋体"; font-size: 9pt }
.t1 { color:#007cd3; font-family: "宋体"; font-size: 9pt }
.white { font-family: "宋体"; font-size: 9pt;color:#FFFFFF }
.red { font-family: "宋体"; font-size: 9pt;color:#FF0000 }
A:visited {color:#0000FF}
A:hover {color: #ff6666; text-decoration: none}
.text {font-size: 12px; line-height: 160%; font-family: "宋体"}
.text1 {color:#000000; font-size: 12px; line-height: 130%; font-family: "宋体"; text-decoration: none}
.text1:visited {color:#000000}
.text1:hover {color: #000000}
.text2 {color:#000000; font-size: 12px; line-height: 130%; font-family: "宋体"; text-decoration: none}
.text2:visited {color:#000000}
.text2:hover {color: #000000}
.text3 {font-size: 12px; line-height: 100%; font-family: "宋体"; text-decoration: none}
.large {font-size: 14.8px; line-height: 130%}
</style>
</head>
<body
<!--start first table -->
<tr>
<td WIDTH="100%" VALIGN="TOP">
<tr>
<td WIDTH="100%" CLASS="white"></td>
</tr>
<tr>
<td WIDTH="50%" bordercolor="#FFFFFF" CLASS="t1" bgcolor="#F0F0F0" align="center" nowrap> 派生线程类 </td>
<p> <td WIDTH="50%" bordercolor="#FFFFFF" CLASS="t1" bgcolor="#F0F0F0" align="center" nowrap>作者:Al Saganich </p>
</td>
</tr>
<tr>
<td WIDTH="100%" bordercolor="#FFFFFF" CLASS="t" bgcolor="#F0F0F0" colspan="2">
<!-- storybody -->
<p><b>派生线程类</b></p>
<p>最简单的编写基于线程的代码的方法之一,就是派生java.lang.Thread 类。该线程类是java.lang 包的一个成员,在缺省情况下,线程类可以被所有的Java应用程序调用。为了使用线程类,我们需要了解The
java.lang.Thread 类中定义的五个方法:</p>
<ul>
<li>
<i>run()</i>:该方法用于线程的执行。你需要重载该方法,以便让线程做特定的工作。
</li>
<li>
<i>start()</i>:该方法使得线程启动<i>run()</i><i>。</i>
</li>
<li>
<i>stop()</i>:该方法同start方法的作用相反,停止线程的运行。
</li>
<li>
<i>suspend()</i>:该方法同stop方法不同的是,它并不终止未完成的线程,它仅仅挂起线程,以后还可恢复。
</li>
<li>
<i>resume()</i>:该方法重新启动已经挂起的线程。
</li>
</ul>
<p><i> </i></p>
<p>运行List A中的程序,运行结果见List B</p>
<p>List A :扩展线程类</p>
<tr>
<td>
<pre><font face="courier new" size="2">class TestThreads {
public static void main (String args []) {
class MyThread extends Thread {
String which;
MyThread (String which) {
this.which = which;
}
public void run() {
int iterations = (int)(Math.random()*100) %15;
int sleepinterval = (int)(Math.random()*1000);
System.out.println(which + " running for " + iterations +" iterations");
System.out.println(which + " sleeping for " + sleepinterval + "ms between loops");
for (int i = 0; < iterations; i++) {
System.out.println(which +" " + i);
try {
Thread.sleep(sleepinterval);
} catch (InterruptedException e) {}
}
}
}
MyThread a = new MyThread("Thread A");
MyThread b = new MyThread("Thread B");
MyThread c = new MyThread("Thread C");
a.start();
b.start();
c.start();
}
}</font></pre>
</td>
</tr>
<p>ListB: 清单A的输出</p>
<tr>
<td>
<p>Thread A running for 16 iterations</p>
<p>Thread C running for 15 iterations</p>
<p>Thread B running for 14 iterations</p>
<p>Thread A sleeping for 305ms between</p>
<p> loops</p>
<p>Thread C sleeping for 836ms between</p>
<p> loops</p>
<p>Thread B sleeping for 195ms between</p>
<p> loops</p>
<p>Thread A 0</p>
<p>Thread C 0</p>
<p>Thread B 0</p>
<p>. . .</p>
<p>Thread C 13</p>
<p>Thread B 13</p>
<p>Thread A 14</p>
<p>Thread C 14</p>
<p>Thread A 15</p>
</td>
</tr>
<p>List A演示了如何从现有的Thread类中派生出一个新类。新创建的类重载了run 方法。有趣的是,实现run 方法不必很严格,因为Thread类提供一个缺省的run方法,尽管它不是特别有用。</p>
<p>在有些场合,我们不能简单地改变指定对象的父类。我们仍然需要采用线程。这时,我们就需要用到Runnable接口。</p>
<!-- end of storybody -->
</td>
</tr>
<tr>
<td WIDTH="100%" bordercolor="#FFFFFF" CLASS="t" bgcolor="#F0F0F0" colspan="2" align=right>
<a href="19.html" tppabs="http://www.chinajavaworld.com/doc/lang/19.html" onclick="cancelshift();""></a>
<a href="21.html" tppabs="http://www.chinajavaworld.com/doc/lang/21.html" onclick="cancelshift();""></a>
</td>
</tr>
</td>
</tr>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -