freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

多線程信息學(xué)院20xx級(jí)(參考版)

2025-05-02 05:33本頁(yè)面
  

【正文】 。 8. 一 個(gè)對(duì)象為什么需要調(diào)用 wait()方法使當(dāng)前線程等待? 【 答 】 wait()使當(dāng)前線程迚入停滯狀態(tài)時(shí),還會(huì)釋放當(dāng)前線程所占有的“鎖標(biāo)志”, 從而使線程所在對(duì)象中的其它 synchronized數(shù)據(jù)可被別的線程使用 。 46 7. 關(guān)鍵字 synchronized是什么含義?為什么 wait()和 notify()方法要與synchronized同時(shí)使用? 【 答 】 synchronized用于聲明一段程序?yàn)榕R界區(qū),使線程對(duì)臨界資源采用互斥使用方式。 當(dāng) 運(yùn)行態(tài)遇到 synchronized()方法時(shí)就迚入阻塞態(tài) ,當(dāng)線程獲得互斥鎖使用權(quán)時(shí)就又到了運(yùn)行態(tài) ; 當(dāng) 線程的 run()方法結(jié)束時(shí)整個(gè)線程就迚入了終止態(tài),整個(gè)線程結(jié)束。 5. 一 個(gè)線程對(duì)象的生命周期有哪幾種狀態(tài)構(gòu)成?各狀態(tài)乊間是如何變化的 ? 45 【 答 】 線程 對(duì)象的生命周期主要包括:新建態(tài)、就緒態(tài)和運(yùn)行態(tài)、阻塞態(tài)和等待態(tài)、終止態(tài) 。 3)程序設(shè)計(jì) 自身的需要。 一般一下場(chǎng)合需要使用多線程: 1)程序包 好復(fù)雜的計(jì)算任務(wù)時(shí),主要是利用多線程獲取更所得 CPU時(shí)間。 2. 操作系統(tǒng) 為什么要支持多線程技術(shù)? 【 答 】 操作系統(tǒng)采用迚程機(jī)制能夠減少程序并發(fā)時(shí)所付出的時(shí)空開(kāi)銷(xiāo),使得并發(fā)粒度更細(xì),并發(fā)性更好,提高了資源使用率和系統(tǒng)效率。 線程:線程是操作系統(tǒng)迚程中能夠獨(dú)立執(zhí)行的實(shí)體,是處理器調(diào)度和分派的基本單位。 42 修改程序,實(shí)現(xiàn)隨機(jī)發(fā)牌 程序思路: ① 修改發(fā)牌線程,先把 1~52的數(shù)字洗亂,存放到列表中; ② 發(fā)牌時(shí),從列表中依次取出亂序后的數(shù)字。 ③ 線程的通信主要發(fā)生在發(fā)牌線程和取牌線程之間。 圖 發(fā)送線程與接收線程同步執(zhí)行流程 否臨界區(qū) , 互斥執(zhí)行 , 不能被打斷緩沖區(qū)空 ?( 信號(hào)量值 )( a ) put () 方法在緩沖區(qū)中放置值喚醒其他等待線程設(shè)置緩沖區(qū)為不空狀態(tài)等待是被喚醒發(fā)送線程緩沖區(qū)不空 ?( b ) get () 方法從緩沖區(qū)中取值喚醒其他等待線程設(shè)置緩沖區(qū)為空狀態(tài)等待是否被喚醒接收線程調(diào)用 調(diào)用喚醒喚醒40 【 例 】 發(fā)牌程序。 //喚醒所有等待線程 線程通信方法結(jié)合信號(hào)量的 PV操作就可以實(shí)現(xiàn)線程間的協(xié)作。對(duì)信號(hào)量有 P(測(cè)試信號(hào)量)操作和 V(改變信號(hào)量)操作; ② 線程根據(jù)信號(hào)量狀態(tài)而執(zhí)行 多線程根據(jù) P操作獲得信號(hào)狀態(tài),并根據(jù)信號(hào)量狀態(tài)決定哪個(gè)線程執(zhí)行,執(zhí)行后進(jìn)行 V操作 ? 如以 Buffer的狀態(tài)為信號(hào)量, ? 發(fā)送線程檢測(cè)狀態(tài)為空( P操作)才發(fā)送數(shù)據(jù),發(fā)送后將狀態(tài)只為滿( V操作) ? 接收線程檢測(cè)狀態(tài)為滿( P操作)才接收數(shù)據(jù),接收后將狀態(tài)置空( V操作) 38 4. 線程通信方法 Java的線程通信方法 public final void wait() throws InterruptedException //等待 —阻塞本線程 public final native void notify()。即逐次使用互斥共享資源。 36 ① 線程同步是解決線程協(xié)作關(guān)系的手段。 ? 由于各個(gè)線程都是獨(dú)立以不可預(yù)知的速度推進(jìn),需要協(xié)作的線程必須在某些 事先設(shè)置的協(xié)調(diào)點(diǎn)上協(xié)調(diào)各自的工作。 35 線程間的協(xié)作關(guān)系: ? 當(dāng)一個(gè)進(jìn)程中多個(gè)線程分工協(xié)作完成同一任務(wù)時(shí),它們之間彼此有聯(lián)系,而且受其他線程執(zhí)行結(jié)果的影響。 例子分析: ? 發(fā)送線程向 buffer里面存數(shù)據(jù),接收線程從 buffer里面去數(shù)據(jù) ? 理想情況是:發(fā)送線程存一個(gè),接收線程取一個(gè) ? 實(shí)際情況:由于兩個(gè)線程是獨(dú)立運(yùn)行,步調(diào)不一定一致。 } 線程間的協(xié)作關(guān)系與線程同步 1. 線程間的協(xié)作關(guān)系 多個(gè)線程共同完成一個(gè)任務(wù)而分工協(xié)作,但是每個(gè)線程都是獨(dú)立的速度在執(zhí)行,需要在某些特定的協(xié)調(diào)點(diǎn)上實(shí)現(xiàn)線程之間的同步。 // 花費(fèi)時(shí)間 } catch (InterruptedException e) { } ()。 } public synchronized void doRun() { double howmatch = ()。 } } ? 保證了存錢(qián)戒取錢(qián)操作過(guò)程中丌會(huì)被其他線程中斷 ? 只有完成一次性完整存錢(qián)戒取錢(qián)操作,才把資源釋放給其他線程。 } //花費(fèi)時(shí)間 catch(InterruptedException e) {} ()。 圖 帶互斥鎖的并發(fā)線程執(zhí)行流程 32 線程體中互斥鎖的用法 public void run() { synchronized() //聲明臨界區(qū),鎖定指定賬戶對(duì)象 { double howmatch = ()。 ? 臨界資源 :多線程共享變量代表的資源稱(chēng)為臨界資源; ? 臨界區(qū) :并發(fā)線程中與共享變量有關(guān)的程序段稱(chēng)為臨界區(qū) 30 3. Java的線程互斥實(shí)現(xiàn) ( 1) 同步語(yǔ)句 synchronized (對(duì)象 ) //對(duì)象即臨界資源 語(yǔ)句
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1