作者weii (小朋友齐打交)
看板SFFamily
标题[转录]Re: thread的问题
时间Sun Dec 8 00:12:39 2002
※ [本文转录自 java 看板]
发信人:
[email protected] (KUSO King), 看板: java
标 题: Re: thread的问题
发信站: 交大资科_BBS (Sat Dec 7 21:09:02 2002)
转信站: Ptt!news.ntu!freebsd.ntu!news.cis.nctu!cis_nctu
==> 在 [email protected] ( ) 的文章中提到:
> 请问thread 从wait状态被叫醒
> 会经历一次context switch吗
好问题,在 SUN 的 Java API 中,似乎都没有提到这个
不过不提应该是因为这跟各平台的行为息息相关......
而且有一点要注意的,context switch 又有人称 process switch
因为它主要是发生在
1. Process 在 CPU 的执行权完完全全被另一个取代掉
2. 程式在运算过程中,经历了 user space 与 kernel space 的切换,
但是各个 OS 对 Thread 又各异 :
Unix/Linux : 并没有真正的支援 multi-thread,它是属於
1-process : 1-thread 的 model
(所以你在上面跑 Multithread 程式时,用 ps -aedf | grep java
会看到一大串的 process)
Solaris : 这是真的有 multi-thread 的平台,它支援
1-process : n-thread 的 model
同时,Thread 又分 ULT(User Level Thread), KLT(Kernel Level Thread)
而 Solaris 同时支援这两种,所以你说的问题 :
[Java 的 Thread 从 Wait pool 醒过来时会不会经过 context switch!?]
我的答案是不一定...要看 OS 跟 JVM 的做法
P.S : 如果我有说错的话,还请多多指教哩!! 我有个把月没碰Java了 :P
--
* Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>
--
「大哥!你....」
「你在以旁门左道的方法,逼自己的剑气踰越极限﹖」
「废话!」应雄反驳:
「什麽旁门左道﹖
能够将最强的功力提昇至无法再上的强中之强,
才是必胜的最佳战略!」
--
※ 发信站: 批踢踢实业坊(ptt.csie.ntu.edu.tw)
◆ From: 210.201.208.96
1F:→ feeians:恐龙是一定要熟读的阿!!! 推 61.228.122.75 12/09
2F:→ weii:说实话 这篇文章跟恐龙书一点关系也没有 推 210.201.208.96 12/11