经验分享:对Java中的线程感想
上一篇 /
下一篇 2009-07-21 23:20:31
/ 个人分类:JSP资料
- 文件版本: V1.0
- 开发商: 本站原创
- 文件来源: 本地
- 界面语言: 简体中文
- 授权方式: 免费
- 运行平台: Win9X/Win2000/WinXP
1.进程和线程的区别51Testing软件测试网/A4YAlN4[ 通俗一点说,进程就是程序的一次执行,而线程可以理解为进程中的执行的一段程序片段。51Testing软件测试网:p Of }x'l3`4nRo
51Testing软件测试网9}'z*Gidk6kd 用一点文词说就是,每个进程都有独立的代码和数据空间(进程上下文);而线程可以看成是轻量级的进程。一般来讲(不使用特殊技术),同一进程所产生的线程共享同一块内存空间。51Testing软件测试网HNh#v"n;JSx
51Testing软件测试网[^Q
\v$wQ 同一进程中的两段代码是不可能同时执行的,除非引入线程。
)p,^
]%~G@0'O,})w:t)FRJ
w(Xs0 线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。51Testing软件测试网$pCRQBV,z6{:^
/y&ey d%k0 线程占用的资源要少于进程所占用的资源。
#Q%cYCy3@xr"Y0k(q*`2p2DD"f]2p0 进程和线程都可以有优先级。
g_6P:ZV.et!C0%]!hxr7{iS'ai0 在线程系统中进程也是一个线程。可以将进程理解为一个程序的第一个线程。
,]w1[w(WAU,~GE(C051Testing软件测试网[O`b4X I.kYr 多进程——在操作系统中,能同时运行多个任务(程序)。
'?`(aW
Np051Testing软件测试网%uT/L'} ^F&H 多线程——在同一应用程序中,有多个顺序流同时执行。51Testing软件测试网V N{Ur Pa1U:k
51Testing软件测试网R9xv9f.CP\0@ B 2.通过铁路售票程序来理解实现多线程的两种方法:通过java.lang.Thread类和通过Runnable接口51Testing软件测试网%y(C:D/P-mC'~9{
L i(r"dP$U'E }0 java中有两种实现多线程的方式。一是直接继承Thread类,二是实现Runnable接口。那么这两种实现多线程的方式在应用上有什么区别呢?51Testing软件测试网 J [s K^ee
51Testing软件测试网MG&{ V&?$K 为了回答这个问题,我们可以通过编写一段代码来进行分析。我们用代码来模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点用一个线程表示。51Testing软件测试网4Hf2^i%{z[1d
51Testing软件测试网wOpT;|N 我们首先这样编写这个程序:51Testing软件测试网(x(x0Zeh
51Testing软件测试网\z,A;DNv$l
c$fHA8bG0public class ThreadDome1{51Testing软件测试网 M
iu%C0Z,X.vi'X9@
ybH public static void main(String[] args){51Testing软件测试网dt
k+V{qMz
E ThreadTest t = new ThreadTest();51Testing软件测试网4E4_"^Ef'l t.start();51Testing软件测试网!` {&i |