📄 太平洋电脑信息网 - 网络学院 - 开发教室019.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0056)http://wwwb.pconline.com.cn/pcedu/empolder/java/05/1.htm -->
<HTML><HEAD><TITLE>|><| 太平洋电脑信息网 -> 网络学院 -> 开发教室</TITLE><!-- #BeginTemplate "/Templates/empolder_doc.dwt" --><!-- #BeginEditable "doctitle" --><!-- #EndEditable -->
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css></STYLE>
<LINK href="太平洋电脑信息网 - 网络学院 - 开发教室019.files/text.css" rel=stylesheet>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff leftMargin=0 topMargin=0 marginheight="0">
<SCRIPT language=JavaScript
src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/top.js"></SCRIPT>
<TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0>
<TBODY>
<TR>
<TD width=194 height=56><A href="http://www.pconline.com.cn/"><IMG
height=35 src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/pconlinelogo.gif" width=162
vspace=10 border=0></A></TD>
<TD width=406 height=56>
<SCRIPT language=JavaScript
src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/empolder_ad.js"></SCRIPT>
</TD>
<TD align=right width=158 height=56>
<SCRIPT language=JavaScript
src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/empolder_ad1.js"></SCRIPT>
</TD>
<TD align=right width=2 height=56> </TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0>
<TBODY>
<TR vAlign=bottom>
<TD width=172 rowSpan=2><IMG height=32
src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/pcedu_lo.gif" width=172 border=0></TD>
<TD height=30 rowSpan=2>
<TABLE cellSpacing=0 cellPadding=0 width=588 bgColor=#ffa000
background="太平洋电脑信息网 - 网络学院 - 开发教室019.files/e_menu5.gif" border=0>
<TBODY>
<TR vAlign=bottom>
<TD height=17>
<SCRIPT language=JavaScript
src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/title_empolder.js"></SCRIPT>
</TD></TR></TBODY></TABLE></TD></TR>
<TR></TR>
<TR bgColor=#303880>
<TD vAlign=bottom colSpan=2 height=1><IMG height=1
src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/blank.gif" width=1></TD></TR>
<TR>
<TD vAlign=bottom colSpan=2 height=5><IMG height=5
src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/blank.gif"
width=1></TD></TR></TBODY></TABLE>
<TABLE height=37 cellSpacing=0 cellPadding=0 width=760 align=center>
<TBODY>
<TR>
<TD vAlign=top width=170>
<TABLE height="100%" cellSpacing=1 width=170 bgColor=#000000 border=0>
<TBODY>
<TR bgColor=#f8f8d2>
<TD vAlign=top width="100%"><!-- #BeginEditable "left" -->
<DIV align=center>
<TABLE cellSpacing=1 cellPadding=0 width="100%" align=center
bgColor=#000000 border=0>
<TBODY>
<TR bgColor=#e17329>
<TD align=middle height=20><FONT
color=#ffffff>==<B>开发教室==</B></FONT></TD></TR></TBODY></TABLE><BR></DIV><!-- #EndEditable -->
<SCRIPT language=JavaScript
src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/left_empolder.js"></SCRIPT>
</TD></TR></TBODY></TABLE></TD>
<TD width=10><IMG height=1 src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/blank.gif"
width=1></TD>
<TD class=article vAlign=top width=580>
<P><IMG height=1 src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/666666.gif"
width="99%"></P><!-- #BeginEditable "content" -->
<P align=center><SPAN class=title>Java Applet 入门</SPAN></P>
<P align=right><A href="mailto:yy435@263.net">yy435</A></P>
<P align=right>太平洋网络学院</P>
<P class=green align=center>第五天</P>
<P class=green align=center>线 程</P>
<P
align=left> 前面我们所给出的程序例子,基本都是单线程的,即一个程序只有一条从头到尾的执行路线,然后在程序设计中,很多的时候,我们需要编写具有多线程的程序。这也就是今天要给大家说的线程的问题了。</P>
<P
align=left> 多现成是指同时存在几个执行体,按几条不同的执行路线共同工作的情况。Java语言中,有一个重要的功能特点就是它的内置对多线程的支持,它使的变成人员可以很方便地开发出具有多线程功能,能同时处理多个任务的功能强大的应用程序。</P>
<P align=left>一 .Java线程的几个概念</P>
<P align=left>1)程序,进程与线程的关系
<BR>程序是一段静态的代码,它是应用软件执行的根本。<BR>进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。做为执行蓝本的同一段程序,可以被加载到系统的不同内存区域分别执行,形成不同的进程。<BR>线程是比进程更小的执行单位。一个进程在其执行过程能够中,可以产生
多个线程,形成多条执行线索。每条线索,即每个线程也有它自身的产生、存在和消亡过程,也是一个动态的概念。</P>
<P
align=left>2)线程的转台与生命周期<BR> 每个Java程序都有一个缺省的主线程,对于Application,主线程是main()方法执行的线索,对于Applet,主线程指挥浏览器加载并执行Java小程序。要想实现多线程,必须在主现成中创建新的现成对象。Java语言使用Thread类及其自类的对象来表示线程,新建的线程在它的一个完整的生命周期中通常要经历如下的五种状态:<BR> <FONT
color=#ff99ff>新建:</FONT>新生的线程对象出新建状态,此时,它已经有了相应的内存空间和其他资源,并已经被初始化。<BR> <FONT
color=#ff99ff>就绪:</FONT>处于新建状态的线程被启动后,将进入线程队列排队等待CPU时间片,此时它已经具备了运行的条件。一旦轮到它来享用CPU资源时,它就可以脱离创建它的主线程而单独开始自己的生命周期了。另外,原来处于阻塞状态的线程被接触阻塞后也将进入就绪状态。<BR> <FONT
color=#ff66ff>运行:</FONT>当就绪状态的线程被调度并获得处理器资源时,便进入运行状态。<BR> <FONT
color=#ff66ff>阻塞:</FONT>一个正在执行的线程在某些特殊情况下,让出CPU并暂时终止自己的执行,进入睡眠状态。<BR> <FONT
color=#ff99ff>死亡:</FONT>处于死亡状态的纤尘不具有继续运行的能力。线程死亡的原因有两个:一个是正常运行的现成完成它的全部工作后退出。另外的一个则是线程提前强制性地终止,如通过执行stop()方法或destroy()来终止线程。</P>
<P align=left>好了,说了这么多,还是给大家举几个例子,配合例子给大家讲讲线程的始末吧!</P>
<P align=left>二 .Java线程的例子</P>
<TABLE borderColor=#ff99cc width=600 border=1>
<TBODY>
<TR>
<TD width=111><APPLET height=100 width=250
code=TestRunnable.class></APPLET></TD>
<TD width=473>
<P>这个例子只是向大家说明在系统的内部,两个毫不干涉的线程个自执行的情况。从这个例子可以看到每个现成各自执行了多少次!</P>
<P><A style="TEXT-DECORATION: none"
onclick="window.open('11.htm','1','menubar=no,toolbar=1,location=no,directories=no,status=no,resizable=1,scrollbars=1,width=780,height=440,top=20,left=10');"
href="http://wwwb.pconline.com.cn/pcedu/empolder/java/05/1.htm#"><FONT
color=#cc99ff>点击这儿查看源代码及解释</FONT></A></P></TD></TR></TBODY></TABLE>
<P align=center><A
href="http://wwwb.pconline.com.cn/pcedu/empolder/java/04/13.htm">[上一页]</A>
<A
href="http://wwwb.pconline.com.cn/pcedu/empolder/java/05/12.htm">[下一页]</A></P><!-- #EndEditable -->
<TABLE width="100%" border=0>
<TBODY>
<TR class=sfont>
<TD>
<DIV align=center><A href="javascript:history.go(-1)">[返回]</A>
</DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<HR width=760 noShade SIZE=2>
<DIV align=center>
<P align=center><FONT color=#000000>
<SCRIPT language=JavaScript
src="太平洋电脑信息网 - 网络学院 - 开发教室019.files/title_edu.js"></SCRIPT>
</FONT><BR><BR>版权所有©2000 太平洋电脑网<BR><FONT face="Arial, Helvetica, sans-serif">
<SCRIPT>document.write("<a href=http://best.netease.com/cgi-bin/view/viewbasic.cgi?exp target=_blank><img src=http://best.netease.com/cgi-bin/log.cgi?user=exp&refer="+escape(document.referrer)+"&cur="+escape(document.URL)+" border=0 alt='网易中文排行榜' width=1 height=1></a>");</SCRIPT>
<A href="mailto:webmaster@pconline.com.cn"></A></FONT><FONT
face="Arial, Helvetica, sans-serif"><A
href="mailto:webmaster@pconline.com.cn">webmaster@pconline.com.cn</A></FONT><FONT
face="Arial, Helvetica, sans-serif"><A href="mailto:webmaster@pconline.com.cn">
<SCRIPT language="">document.write("<a href=http://best.netease.com/cgi-bin/view/viewbasic.cgi?pconline1 target=_blank><img src=http://best.netease.com/cgi-bin/log.cgi?user=pconline1&refer="+escape(document.referrer)+"&cur="+escape(document.URL)+" border=0 width=1 height=1 ></a>");</SCRIPT>
</A>
<SCRIPT language="">document.write("<a href=http://count5.pconline.com.cn/newcount/admin/index.php target=_blank><img src=http://count5.pconline.com.cn/newcount/count.php?namecode=others&subnamecode=page&screen="+screen.width+"*"+screen.height+"&refer="+escape(document.referrer)+" border=0 width=0 height=0 alt= ></a>");</SCRIPT>
</FONT></P></DIV><!-- #EndTemplate --></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -