亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 7.html

?? 這是介紹JAVE 語(yǔ)言的書籍
?? HTML
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
7.2.5 暫 停 一 個(gè) 線 程 
我 們 經(jīng) 常 需 要 掛 起 一 個(gè) 線 程 而 不 指 定 多 少 時(shí) 間。 例 如, 
如 果 你 創(chuàng) 建 了 一 個(gè) 含 有 動(dòng) 畫 線 程 的 小 程 序。 也 許 你 讓 用 
戶 暫 停 動(dòng) 畫 至 到 他 們 想 恢 復(fù) 為 止。 你 并 不 想 將 動(dòng) 畫 線 程 
仍 調(diào), 但 想 讓 它 停 止。 象 這 種 類 似 的 線 程 你 可 用suspend()
函 數(shù) 來(lái) 控 制: t1.suspend(); 
這 個(gè) 函 數(shù) 并 不 永 久 地 停 止 了 線 程, 你 還 可 用resume()函 數(shù) 
重 新 激 活 線 程: t1.resume(); 
7.2.6 停 止 一 個(gè) 線 程 
線 程 的 最 后 一 個(gè) 控 制 是 停 止 函 數(shù)stop()。 我 們 用 它 來(lái) 停 
止 線 程 的 執(zhí) 行: t1.stop(); 
注 意: 這 并 沒(méi) 有 消 滅 這 個(gè) 線 程, 但 它 停 止 了 線 程 的 執(zhí) 行。 
并 且 這 個(gè) 線 程 不 能 用t1.start()重 新 啟 動(dòng)。 在 我 們 的 例 子 
里, 我 們 從 來(lái) 不 用 顯 式 地 停 止 一 個(gè) 線 程。 我 們 只 簡(jiǎn) 單 地 
讓 它 執(zhí) 行 完 而 已。 很 多 復(fù) 雜 的 線 程 例 子 將 需 要 我 們 控 制 
每 一 個(gè) 線 程。 在 這 種 情 況 下 會(huì) 使 用 到stop()函 數(shù)。 如 果 需 
要, 你 可 以 測(cè) 試 你 的 線 程 是 否 被 激 活。 一 個(gè) 線 程 已 經(jīng) 啟 
動(dòng) 而 且 沒(méi) 有 停 止 被 認(rèn) 為 是 激 活 的。 t1.isAlive() 如 果t1是 激 
活 的, 這 個(gè) 函 數(shù) 將 返 回true. 
7.2.7 動(dòng) 畫 例 子 
下 面 是 一 個(gè) 包 含 動(dòng) 畫 線 程 的applet例 子: 
import java.awt.*; import java.awt.image.ImageProducer; import 
java.applet.Applet; 
public class atest3 extends Applet implements Runnable { Image images[]; 
MediaTracker tracker; int index = 0; Thread animator; 
int maxWidth,maxHeight; //Our off-screen components for double buffering. 
Image offScrImage; Graphics offScrGC; 
//Can we paint yes? boolean loaded = false; 
//Initialize the applet. Set our size and load the images public void init() 
[ //Set up our image monitor tracker = new MediaTracker(this); 
//Set the size and width of our applet maxWidth = 100; maxHeight =100; 
images = new Image[10]; //Set up the double-buffer and resize our applet 
try { offScrImage = createImage(maxWidth,maxHeight); offScrGC = 
offScrImage.getGraphics(); offScrGC.setColor(Color.lightGray); 
offScrGC.fillRect(0,0,maxWidth,maxHeight); 
resize(maxWidth,maxHeight); }catch (Exception e) 
{ e.printStackTrace(); } 
//load the animation images into an array for (int i=0;i<10;i++) { String 
imageFile = new String ("images/Duke/T" +String.valueOf(i+1) +".gif"); 
images[i] = getImage(getDocumentBase(),imageFile): //Register this 
image with the tracker tracker.addImage(images[i],i); } try { //Use 
tracker to make sure all the images are loaded tracker.waitForAll(); } 
catch (InterruptedException e) {} loaded = true; } 
//Paint the current frame. public void paint (Graphics g) { if (loaded) 
{ g.drawImage(offScrImage,0,0,this); } } 
//Start ,setup our first image public void start() { if (tracker.checkID 
(index)) { offScrGC.drawImage (images[index],0,0,this); } animator = new 
Thread(this); animator.start(); } 
//Run,do the animation work here. //Grab an image, pause ,grab the next... 
public void run() { //Get the id of the current thread Thread me = 
Thread.currentThread(); 
//If our animator thread exist,and is the current thread... while 
((animatr!= null) && (animator==me)) { if ( tracker.checkID (index)) 
{ //Clear the background and get the next image 
offScrGC.fillRect(0,0,100,100); 
offScrGCdrawImage(images[index],0,0,this); index++; //Loop back to the 
beginning and keep going if (index>= images.length) { index = 0; } } 
//Delay here so animation looks normal try { animator.sleep(200); }catch 
(InterruptedException e) {} //Draw the next frame repaint(); } } } 
7.3 多 線 程 ?reg; 間 的 通 訊
7.3.1 生 產(chǎn) 者 和 消 費(fèi) 者 
多 線 程 的 一 個(gè) 重 要 特 點(diǎn) 是 它 們 ?reg; 間 可 以 互 相 通 訊。 你 
可 以 設(shè) 計(jì) 線 程 使 用 公 用 對(duì) 象, 每 個(gè) 線 程 都 可 以 獨(dú) 立 操 作 
公 用 對(duì) 象。 典 型 的 線 程 間 通 訊 建 立 在 生 產(chǎn) 者 和 消 費(fèi) 者 模 
型 上: 一 個(gè) 線 程 產(chǎn) 生 輸 出; 另 一 個(gè) 線 程 使 用 輸 入。 
buffer 
讓 我 們 創(chuàng) 建 一 個(gè) 簡(jiǎn) 單 的"Alphabet Soup"生 產(chǎn) 者 和 相 應(yīng) 的 消 
費(fèi) 者. 
7.3.2 生 產(chǎn) 者 
生 產(chǎn) 者 將 從thread類 里 派 生: class Producer extends Thread 
{ private Soup soup; private String alphabet = " 
ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
public Producer(Soup s) { //Keep our own copy of the shared object soup 
= s; } 
public void run() { char c; //Throw 10 letters into the soup for (int 
i=0;i<10;i++) { c = alphabet.charAt((int)(Math.random() *26)); 
soup.add(c); //print a record of osr addition 
System.out.println("Added"+c + "to the soup."); //wait a bit before we 
add the next letter try { sleep((int)(Math.random() *1000)); } catch 
(InterruptedException e) {} } } } 
注 意 我 們 創(chuàng) 建 了Soup類 的 一 個(gè) 實(shí) 例。 生 產(chǎn) 者 用soup.add()函 
數(shù) 來(lái) 建 立 字 符 池。 
7.3.3 消 費(fèi) 者
讓 我 們 看 看 消 費(fèi) 者 的 程 序: class Consumer extends Thread 
{ private Soup soup; 
public Consumer (Soup s) { //keep our own copy of the shared object soup 
= s; } 
public void run() { char c; //Eat 10 letters from the alphabet soup for 
(int I=0 ;i<10;i++) { //grab one letter c = soup.eat(); //Print out the 
letter that we retrieved System.out.println("Ate a letter: " +c); //try 
{ sleep((int)(Math.raddom()*2000)); } catch (InterruptedException e) 
{} } } } 
同 理, 象 生 產(chǎn) 者 一 樣, 我 們 用soup.eat()來(lái) 處 理 信 息。 那 么,
Soup類 到 底 干 什 么 呢? 
7.3.4 監(jiān) 視 
Soup類 執(zhí) 行 監(jiān) 視 兩 個(gè) 線 程 ?reg; 間 傳 輸 信 息 的 功 能。 監(jiān) 視 
是 多 線 程 中 不 可 缺 少 的 一 部 分, 因 為 它 保 持 了 通 訊 的 
流 ?copy;。 讓 我 們 看 看Soup.java文 件: class Soup { private char 
buffer[] = new char[6]; private int next = 0; //Flags to keep track of 
our buffer status private boolean isFull = false; private boolean isEmpty 
= true; 
public syschronized char eat() { //We can't eat if there isn't anything 
in the buffer while (isEmpty == true) { try { wait() ;//we'll exit this 
when isEmpty turns false }catch (InterruptedException e) {} } //decrement 
the count,since we're going to eat one letter next--; //Did we eat the 
last letter? if (next== 0) { isEmpty = true; } //We know the buffer can't 
be full,because we just ate isFull = false; notify(); //return the letter 
to the thread that is eating return (buffer[next]); } 
//method to add letters to the buffer public synchronized void add(char 
c) { //Wait around until there's room to add another letter while (isFull 
== true ) { try{ wait();//This will exit when isFull turns false }catch 
(InterruptedException e) {} } //add the letter to the next available spot 
buffer[next]=c; //Change the next available spot next++; //Are we full; 
if (next ==6) { isFull =true; } isEmpty =false; notify(); } } 
soup類 包 含 兩 個(gè) 重 要 特 征: 數(shù) 據(jù) 成 員buffer[]是 私 有 的, 功 
能 成 員add()和eat()是 公 有 的。 
數(shù) 據(jù) 私 有 避 免 了 生 產(chǎn) 者 和 消 費(fèi) 者 直 接 獲 得 數(shù) 據(jù)。 直 接 訪 
問(wèn) 數(shù) 據(jù) 可 能 造 成 錯(cuò) 誤。 例 如, 如 果 消 費(fèi) 者 企 圖 從 空 緩 沖 
區(qū) 里 取 出 數(shù) 據(jù), 你 將 得 到 不 必 要 的 異 常, 否 則, 你 只 能 鎖 
住 進(jìn) 程。 同 步 訪 問(wèn) 方 法 避 免 了 破 壞 一 個(gè) 共 享 對(duì) 象。 當(dāng) 生 
產(chǎn) 者 向soup里 加 入 一 個(gè) 字 母 時(shí), 消 費(fèi) 者 不 能 吃 字 符, 諸 如 
此 類。 這 種 同 步 是 維 持 共 享 對(duì) 象 完 整 性 的 重 要 方 面。
notify()函 數(shù) 將 喚 醒 每 一 個(gè) 等 待 線 程。 等 待 線 程 將 繼 續(xù) 它 
的 訪 問(wèn)。 
7.3.5 聯(lián) 系 起 來(lái) 
現(xiàn) 在 我 們 有 一 個(gè) 生 產(chǎn) 者, 一 個(gè) 消 費(fèi) 者 和 一 個(gè) 共 享 對(duì) 象, 
怎 樣 實(shí) 現(xiàn) 它 們 的 交 互 呢? 我 們 只 需 要 一 個(gè) 簡(jiǎn) 單 的 控 制 
程 序 來(lái) 啟 動(dòng) 所 有 的 線 程 并 確 信 每 一 個(gè) 線 程 都 是 訪 問(wèn) 的 
同 一 個(gè) 共 享 對(duì) 象。 下 面 是 控 制 程 序 的 代 碼,SoupTest.java: 
class SoupTest { public static void main(String args[]) { Soup s = new 
Soup(); Producer p1 = new Producer(s); Consumer c1 = new Consumer(s); 
p1.start(); c1.start(); } } 
7.3.6 監(jiān) 視 生 產(chǎn) 者 
生 產(chǎn) 者/消 費(fèi) 者 模 型 程 序 經(jīng) 常 用 來(lái) 實(shí) 現(xiàn) 遠(yuǎn) 程 監(jiān) 視 功 能, 它 
讓 消 費(fèi) 者 看 到 生 產(chǎn) 者 同 用 戶 的 交 互 或 同 系 統(tǒng) 其 它 部 分 
的 交 互。 例 如, 在 網(wǎng) 絡(luò) 中, 一 組 生 產(chǎn) 者 線 程 可 以 在 很 多 工 
作 站 上 運(yùn) 行。 生 產(chǎn) 者 可 以 打 印 文 檔, 文 檔 打 印 后, 一 個(gè) 標(biāo) 
志 將 保 存 下 來(lái)。 一 個(gè)(或 多 個(gè)?copy; 消 費(fèi) 者 將 保 存 標(biāo) 志 并 在 
晚 上 報(bào) 告 白 天 打 印 活 動(dòng) 的 情 況。 另 外, 還 有 例 子 在 一 個(gè) 
工 作 站 是 分 出 幾 個(gè) 獨(dú) 立 的 窗 口。 一 個(gè) 窗 口 用 作 用 戶 輸 入
(生 產(chǎn) 者?copy;, 另 一 個(gè) 窗 口 作 出 對(duì) 輸 入 的 反 應(yīng)(消 費(fèi) 
者?copy;。 
7.4 線 程API列 表 
下 面 是 一 ?copy; 常 用 的 線 程 類 的 方 法 函 數(shù) 列 表: 
類 函 數(shù): 以 下 是Thread的 靜 態(tài) 函 數(shù), 即 可 以 直 接 從Thread類 調(diào) 
用。 
currentThread 返 回 正 在 運(yùn) 行 的Thread對(duì) 象 yield 停 止 運(yùn) 行 當(dāng) 
前 線 程, 讓 系 統(tǒng) 運(yùn) 行 下 一 個(gè) 線 程 sleep(int n) 讓 當(dāng) 前 線 程 
睡 眠n毫 秒 
對(duì) 象 函 數(shù): 以 下 函 數(shù) 必 須 用Thread的 實(shí) 例 對(duì) 象 來(lái) 調(diào) 用。 
start start函 數(shù) 告 訴java運(yùn) 行 系 統(tǒng) 為 本 線 程 建 立 一 個(gè) 執(zhí) 行 
環(huán) 境, 然 后 調(diào) 用 本 線 程 的run()函 數(shù)。 run 是 運(yùn) 行 本 線 程 的 
將 要 執(zhí) 行 的 代 碼, 也 是Runnable接 口 的 唯 一 函 數(shù)。 當(dāng) 一 個(gè) 線 
程 初 始 化 后, 由start函 數(shù) 來(lái) 調(diào) 用 它, 一 ?copy;run函 數(shù) 返 回, 
本 線 程 也 就 終 止 了。 stop 讓 某 線 程 馬 上 終 止, 系 統(tǒng) 將 刪 除 
本 線 程 的 執(zhí) 行 環(huán) 境 suspend 與stop函 數(shù) 不 同,suspend將 線 程 暫 
停 執(zhí) 行, 但 系 統(tǒng) 不 破 壞 線 程 的 執(zhí) 行 環(huán) 境, 你 可 以 用resume
來(lái) 恢 復(fù) 本 線 程 的 執(zhí) 行 resume 恢 復(fù) 被 掛 起 的 線 程 進(jìn) 入 運(yùn) 行 
狀 態(tài) setPriority(int p) 給 線 程 設(shè) 置 優(yōu) 先 級(jí) getPriority 返 回 線 
程 的 優(yōu) 先 級(jí) setName(String name) 給 線 程 設(shè) 置 名 稱 getName 取 
線 程 的 名 稱 
本 章 小 結(jié): 
1.多 線 程 是java語(yǔ) 言 的 重 要 特 點(diǎn),java語(yǔ) 言 用Thread類 封 裝 了 
線 程 的 所 有 操 作。 2.線 程 的 接 口 名 為Runnable 3.線 程 ?reg; 間 
同 步 機(jī) 制 為synchronized關(guān) 鍵 詞 4.線 程 ?reg; 間 通 訊 靠wait與
notify消 息 

</pre></div></td></tr></table><hr width=90% color=#7A7A71><!--end_content-->      <br>    </TD>    <TD bgColor=#c6bba4 vAlign=top width="1%"></TD>    <TD bgColor=#c6bba4 vAlign=bottom width="11%"><b><a href="/index.html">回首頁(yè)</a><br><br><a href='6.html'>上一頁(yè)</a><br><br><a href='8.html'>下一頁(yè)</a><br><br><a href='http://pub.goldnets.com:81/bbs/post.php?job=new&topic=12210' target=_blank> 我有話說(shuō) </a><br><br><a href='http://pub.goldnets.com:81/bbs/bbslist.php?topic=12210' target=_blank> 評(píng)論一覽 </a></center><br><!--title_end1--></b><br></TD>  </TR></TABLE><TABLE background=images/bj.jpg border=0 cellSpacing=0 width="100%">  <TR>    <TD bgColor=#c6bba4 vAlign=top width="12%">&nbsp;</TD>    <TD background=/images/bj.jpg vAlign=top width="76%">    <br>    <center>      <iframe width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no bordercolor="#000000" src="/banner4.html"></iframe>    </center>    <center>      <script language="JavaScript" src="http://www.myrice.com/bottom.js"></script>    </center>    </TD>    <TD bgColor=#c6bba4 vAlign=top width="12%" align="left"></TD>  </TR></TABLE><center>  <script language="JavaScript" src="/bottom.js"></script></center></BODY></HTML>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本韩国一区二区三区视频| 狠狠色丁香婷婷综合| 日韩精品一区二区三区四区 | 91精品蜜臀在线一区尤物| 国产一区欧美一区| 香蕉成人啪国产精品视频综合网| 欧美国产禁国产网站cc| 69堂国产成人免费视频| 91久久免费观看| 亚洲欧美激情插| 久久中文娱乐网| 欧美高清激情brazzers| 91美女在线看| 国产成人精品综合在线观看| 日韩av一级电影| 亚洲一区在线观看免费观看电影高清| 国产精品―色哟哟| 精品剧情v国产在线观看在线| 欧美日韩视频在线一区二区| 99精品国产91久久久久久| 高清不卡一区二区| 国产一区 二区| 狠狠色狠狠色综合日日91app| 日韩av成人高清| 亚洲午夜羞羞片| 亚洲国产成人av网| 一区二区三区不卡视频在线观看 | 日韩av网站免费在线| 一区二区国产视频| 久久国产成人午夜av影院| 亚洲h在线观看| 天天色综合天天| 五月婷婷综合网| 亚洲国产欧美另类丝袜| 亚洲第一电影网| 午夜精品123| 午夜精彩视频在线观看不卡| 天堂一区二区在线免费观看| 天天免费综合色| 日韩av在线播放中文字幕| 免费高清在线视频一区·| 人人精品人人爱| 奇米四色…亚洲| 六月丁香综合在线视频| 精品一区二区三区久久久| 国产在线不卡一区| 国产不卡在线一区| 99这里只有久久精品视频| 一本一道波多野结衣一区二区| 色噜噜狠狠成人中文综合| 色天使久久综合网天天| 欧美日韩一区二区在线视频| 91精品国模一区二区三区| 日韩欧美一级精品久久| 久久女同精品一区二区| 中文字幕亚洲成人| 一区二区三区中文在线| 日韩和欧美一区二区三区| 久久99精品网久久| 国产乱码精品一品二品| 成人三级在线视频| 91黄色小视频| 日韩精品在线一区| 中文字幕一区二区三区色视频| 亚洲精品v日韩精品| 日本中文在线一区| 国产91清纯白嫩初高中在线观看| 99精品视频在线观看| 欧美日韩成人综合| xfplay精品久久| 亚洲欧美另类在线| 麻豆成人91精品二区三区| 国产乱码精品一区二区三区忘忧草| 成人激情免费电影网址| 欧美日韩久久久一区| 国产欧美日本一区视频| 亚洲午夜av在线| 福利一区在线观看| 欧美日韩国产一级| 日本一区二区三区免费乱视频| 亚洲一区二区三区爽爽爽爽爽| 久久99精品久久久久久动态图| 99国产麻豆精品| 精品国产一区a| 一区二区三区日韩精品| 国模套图日韩精品一区二区| 色婷婷av一区二区三区gif| 2021国产精品久久精品| 亚洲电影一区二区| 成人av午夜电影| 日韩免费在线观看| 亚洲猫色日本管| 国产精品一区二区三区99| 欧美日韩激情一区二区| 《视频一区视频二区| 韩国av一区二区三区在线观看| 欧美色网站导航| 亚洲色图在线播放| 国产精品一二三区在线| 6080yy午夜一二三区久久| 亚洲精品乱码久久久久久| 国产精品一区二区不卡| 欧美一区二区三区在线观看| 亚洲另类在线制服丝袜| 波多野结衣亚洲一区| 精品国产乱码久久久久久1区2区| 亚洲国产一区二区三区青草影视| av男人天堂一区| 国产欧美久久久精品影院| 精品一区二区三区在线播放视频| 在线免费不卡电影| 亚洲日本在线观看| 不卡一卡二卡三乱码免费网站| 精品国产3级a| 久久精品国产澳门| 欧美一二三四在线| 免费在线一区观看| 7777精品伊人久久久大香线蕉经典版下载| 一区二区三区在线影院| 99精品国产91久久久久久| 国产精品传媒入口麻豆| 国产.欧美.日韩| 国产日产欧美一区二区视频| 国产一区二区不卡在线| 精品成人在线观看| 国产一区二三区好的| 久久亚洲欧美国产精品乐播 | 欧美伊人久久大香线蕉综合69| 国产精品国产三级国产专播品爱网| 国产精品亚洲视频| 国产午夜精品久久久久久免费视 | 亚洲一区二区在线播放相泽 | 色94色欧美sute亚洲线路一ni| 亚洲丝袜制服诱惑| 色香蕉久久蜜桃| 亚洲午夜精品久久久久久久久| 欧美日韩美女一区二区| 日韩精品电影一区亚洲| 日韩三级免费观看| 久久国产精品99久久人人澡| 久久久一区二区三区捆绑**| 国产东北露脸精品视频| 国产精品久久久久久久午夜片| 99精品在线免费| 亚洲妇女屁股眼交7| 91精品国产一区二区三区| 久久99国产精品久久99| 国产日韩欧美高清| 91小宝寻花一区二区三区| 亚洲成人精品在线观看| 日韩欧美国产不卡| 成人性生交大片免费| 樱花影视一区二区| 欧美一级生活片| 国产91精品精华液一区二区三区 | 国产精品成人网| 成人免费av网站| 亚洲欧洲综合另类在线| 欧美欧美午夜aⅴ在线观看| 精品一区二区三区视频| 亚洲国产精品99久久久久久久久 | 精品一区二区三区免费视频| 国产日本欧洲亚洲| 在线观看国产一区二区| 久久国产免费看| 国产精品欧美经典| 欧美日本免费一区二区三区| 韩国一区二区三区| 亚洲精品国产a| 日韩一区二区三区在线| 一区二区三区在线视频观看58| 亚洲免费视频中文字幕| 欧美日韩亚洲综合在线| 久久精品国产99国产| 成人免费在线观看入口| 欧美一区二区三区公司| 成人国产精品免费网站| 日日欢夜夜爽一区| 国产精品久久久久久户外露出| 777午夜精品免费视频| 成人黄色小视频| 美女被吸乳得到大胸91| 亚洲免费观看高清完整版在线观看熊| 制服丝袜成人动漫| 91丨porny丨在线| 久久国产精品色| 亚洲午夜久久久久久久久电影院| 久久久美女毛片| 欧美高清视频不卡网| av欧美精品.com| 国产一区激情在线| 天堂精品中文字幕在线| 亚洲人妖av一区二区| 日韩一二三区视频| 色菇凉天天综合网| 国产精品系列在线观看| 美女脱光内衣内裤视频久久影院| 自拍偷拍亚洲欧美日韩| 国产欧美视频在线观看| 日韩一区二区麻豆国产|