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

正文內(nèi)容

計(jì)算機(jī)畢業(yè)設(shè)計(jì)外文翻譯--現(xiàn)代并發(fā)抽象c#(已修改)

2025-05-31 17:12 本頁(yè)面
 

【正文】 1 南京郵電大學(xué) 畢業(yè)設(shè)計(jì) (論文 )外文資料翻譯 學(xué) 院 傳媒與藝術(shù)學(xué)院 專(zhuān) 業(yè) 數(shù)字媒體技術(shù) 學(xué)生姓名 黃超 班級(jí)學(xué)號(hào) B080705 B08070525 外文出處 ACM Transactions on Programming Languages and Systems, Vol. 26, No. 5, September 2020 附件: ; 2 指導(dǎo)教師評(píng)價(jià): 1.翻譯內(nèi)容與課題的結(jié)合度: □ 優(yōu) □ 良 □ 中 □ 差 2.翻譯內(nèi)容的準(zhǔn)確、流暢: □ 優(yōu) □ 良 □ 中 □ 差 3.專(zhuān)業(yè)詞匯翻譯的準(zhǔn)確性: □ 優(yōu) □ 良 □ 中 □ 差 4.翻譯字符數(shù)是否符合規(guī)定要求: □ 符合 □ 不符合 指導(dǎo)教師簽名: 年 月 日 3 附件 1:外文資料翻譯譯文 現(xiàn)代并發(fā)抽象 C# 尼克本頓,盧卡卡戴爾和塞德里克?富爾 微軟研究院 語(yǔ)言和并發(fā) 并發(fā)是現(xiàn)代代碼中的一個(gè)重要實(shí)現(xiàn)形式:并發(fā)程序的編寫(xiě)設(shè)計(jì),解釋?zhuān){(diào)試,和調(diào)整都是有難度的。并發(fā)可以顯著影響一個(gè)結(jié)構(gòu)中的語(yǔ)言的含義(開(kāi)始轉(zhuǎn)讓的原子),并能影響調(diào)用庫(kù)的能力。盡管這樣,最流行的編程語(yǔ)言對(duì)待并發(fā)語(yǔ)言不是作為一種語(yǔ)言功能的并發(fā)性,而往往是作為一個(gè)收集的,根據(jù)指定的外部庫(kù)??紤]到這樣的事實(shí)后,規(guī)范的并發(fā)庫(kù) [比勒爾等。 1987 年 。斯林等。 1996 年 Detlefs 等。 1998年古列維奇等。 2020] 已給予相當(dāng)?shù)闹匾?,通常通過(guò)這些規(guī)范就可以對(duì)他們的行為應(yīng)該在何處執(zhí)行做出判斷。然而,即使當(dāng)并發(fā)庫(kù)被正 確指定,但由于他們是庫(kù),而不是語(yǔ)言的特點(diǎn)這個(gè)事實(shí),還是會(huì)有不良的后果。 在原則上,可以提供許多功能,無(wú)論是作為語(yǔ)言特性或作為庫(kù):典型的例子是,內(nèi)存管理和異常。有“語(yǔ)言”等功能的優(yōu)點(diǎn)是,編輯者可以對(duì)它們進(jìn)行分析,因此可以產(chǎn)生更好的代碼,并警告親程序員的潛在和實(shí)際問(wèn)題。特別是,編譯器可以檢查語(yǔ)法嵌入的變量,這將是很難從庫(kù)中提取調(diào)用的集合。此外,程序員可以更可靠說(shuō)明自己的意圖,通過(guò)一個(gè)清晰的語(yǔ)法和其他工具比編輯者可以更容易地確定程序員的意圖。特定領(lǐng)域的語(yǔ)言 [Ramming 1997。 Kamin 1997]是一 個(gè)極端的語(yǔ)言學(xué)方法的例子:經(jīng)常提出新的特設(shè)語(yǔ)言并不是要取代通用的語(yǔ)言,而是為了方便特定于域的代碼分析域相關(guān)的功能,作為原始的語(yǔ)言表達(dá)簡(jiǎn)單的事實(shí)結(jié)構(gòu)。 我們相信,并發(fā)應(yīng)該是一個(gè)語(yǔ)言功能的一部分和一種語(yǔ)言規(guī)范。在 70 年代開(kāi)始在這個(gè)方向作了很多嘗試,顯示器 [霍爾 1974年 ]的概念和奧卡姆語(yǔ)言 [INMOS有限公司 1984](基于通信順序進(jìn)程 [霍爾 1985])。監(jiān)控器的一般概念已經(jīng)變得非常流行,特別是在其目前的面向?qū)ο蟮男问骄€(xiàn)程和對(duì)象綁定互斥,但它已提供作為一個(gè)語(yǔ)法的外殼模板,最可選鎖定對(duì)象上的方法調(diào)用。 許多事情因 為監(jiān)控器被引入并發(fā)而已經(jīng)改變。通信已變得更加的異步,并行計(jì)算一定要通過(guò)規(guī)模較大的“精心策劃”的。值得關(guān)注的是沒(méi)有那么多的有效的實(shí)施和使用鎖在一個(gè)單一的處理器或者多重處理器,但沒(méi)有不必要的異步事件的處理能力阻止長(zhǎng)期客戶(hù),并沒(méi)有死鎖。換句話(huà)說(shuō),重心正在從共享內(nèi)存并發(fā)轉(zhuǎn)向消息或事件并發(fā)性。 這些新的要求應(yīng)該得到可以處理異步通信和不束縛共享記憶的編程結(jié)構(gòu)的方法。盡管出現(xiàn)大規(guī)模的模式設(shè)計(jì)如 [America 1989。 Agha et 。 Reppy 1992。 Pierce and Turner 2020。 Philippsen 1995],但只有監(jiān)控器獲得廣泛接受的編程結(jié)構(gòu)。 最近在富爾和 Gonthier 的 [1996, 2020]加入演算中顯現(xiàn)了一個(gè)有趣的新的語(yǔ)言方法,進(jìn)程演算非常適合在分布式的環(huán)境中直接執(zhí)行。其他語(yǔ)言,如 JoCaml [Conchon and Le Fessant 1999]和 Funnel [Odersky 4 2020],結(jié)合了類(lèi)似功能編程模型的想法。在這里,我們提出了一個(gè)加入演算想法的適應(yīng)一個(gè)面向?qū)ο蟮恼Z(yǔ)言,有一個(gè)現(xiàn)有線(xiàn)程和鎖的并發(fā)模型。 itzstein 和 Kearney [2020]最近為 Java 描述非常類(lèi)似的擴(kuò)展。 異步編程 異步的事件和消息傳遞越來(lái)越多地用于在各級(jí)軟件系統(tǒng)。在最低水平,設(shè)備驅(qū)動(dòng)程序必須對(duì)異步設(shè)備事件迅速作出反應(yīng),而資源利用上的吝嗇。在圖形用戶(hù)界面級(jí)別是出了名的,復(fù)雜的代碼和編程模型,因?yàn)橛脩?hù)事件的異步性質(zhì) 。在同一時(shí)間,用戶(hù)討厭被不必要的封鎖。在廣域網(wǎng)的水平,例如,在協(xié)作應(yīng)用,分布式的工作流, Web 服務(wù),我們現(xiàn)在遇到類(lèi)似的問(wèn)題,因?yàn)槿蛲ㄐ诺漠惒叫再|(zhì)和潛伏期和復(fù)雜性。 在所有這些領(lǐng)域,我們自然會(huì)發(fā)現(xiàn)有很多要處理的同時(shí)異步消息的情況下,多線(xiàn)程用來(lái)處理它們。主題仍 然是一個(gè)在大多數(shù)系統(tǒng)中昂貴的資源。然而,如果我們能有些隱藏在背后的消息和線(xiàn)程使用一種語(yǔ)言機(jī)制,那么很多的選項(xiàng)成為可能。編譯器可狀態(tài)機(jī)轉(zhuǎn)換成并發(fā)的一些模式,優(yōu)化使用隊(duì)列,使用輕量級(jí)的線(xiàn)程,在可能的情況下,避免分叉線(xiàn)程沒(méi)有必要的,并使用線(xiàn)程池。這一切都是真的有可能只有一個(gè)擁有上譜“,可以發(fā)生的事情”:這個(gè)手柄可以處理由并發(fā)操作,既可以隱藏,從而使多個(gè)語(yǔ)法實(shí)現(xiàn)技術(shù)。因此,我們的目標(biāo)是促進(jìn)異步編程抽象是高層次的,從一個(gè)程序員的角度來(lái)看,使低層次的優(yōu)化,從一個(gè)編譯器和運(yùn)行時(shí)系統(tǒng)的角度來(lái)看。我們提出用現(xiàn)代并發(fā) C#語(yǔ)言的 延伸異步編程抽象。在與音樂(lè)的精神調(diào)諧的 C#和并發(fā)活動(dòng)的“協(xié)調(diào)流程”,我們稱(chēng)這種語(yǔ)言復(fù)調(diào) C#。 C 和 .NET C#是一個(gè)現(xiàn)代,類(lèi)型安全,面向?qū)ο缶幊陶Z(yǔ)言,最近微軟推出的 Visual ][ECMA 的一部分。 C#程序上運(yùn)行 .NET 框架,其中包括多語(yǔ)言的執(zhí)行頂部 引擎和一個(gè)豐富的類(lèi)庫(kù)集合。 .NET 執(zhí)行引擎提供了一個(gè)多線(xiàn)程的執(zhí)行環(huán)境潛在的相互關(guān)聯(lián)與同步鎖MENT 在堆上分配的對(duì)象。 C#語(yǔ)言,包括一個(gè) lock 語(yǔ)句,執(zhí)行的過(guò)程中獲得一個(gè)給定的對(duì)象相關(guān)聯(lián)的互斥阻塞。此外, .NET 庫(kù)實(shí)現(xiàn)了許多傳統(tǒng)的并發(fā)控制原語(yǔ),如信號(hào)量,互斥和讀 /寫(xiě)鎖,以及異步編程模型的基礎(chǔ)上代表。 .NET 框架還提供更高級(jí)別的基礎(chǔ)設(shè)施建設(shè)分布應(yīng)用和服務(wù),如基于 SOAP 的消息傳遞和遠(yuǎn)程方法打電話(huà)。 .NET Framework 中的并發(fā)和分配機(jī)制功能強(qiáng)大,但他們也不可否認(rèn)復(fù)雜。且不說(shuō)從原語(yǔ),更多的或較少的基礎(chǔ)設(shè)施,在烤“讓人眼花繚亂,有一臺(tái)機(jī)器上(共享內(nèi)存,線(xiàn)程,同步的基礎(chǔ)上的東西是 20世紀(jì) 70 年代的并發(fā)模型之間的不匹配相互排斥)和異步,基于消息的風(fēng)格,使用編程基于網(wǎng)絡(luò)的應(yīng)用和服務(wù)。因此, C#中似乎是一個(gè)為主流的并發(fā)語(yǔ) 言支持我們的想法,理想的測(cè)試床語(yǔ)言。 2。復(fù)調(diào) C#語(yǔ)言概述 本節(jié)介紹新構(gòu)造復(fù)調(diào)的 C#語(yǔ)法和語(yǔ)義,然后給出了更精確,雖然仍是非正式的,規(guī)范 語(yǔ)法。 基本思路 到 C#的相當(dāng)傳統(tǒng)的面向?qū)ο缶幊棠P?,?fù)調(diào) C#增加了兩個(gè)新概念:異步方法和復(fù)調(diào)。 異步方法。傳統(tǒng)的方法是同步的,在檢測(cè)到來(lái)電者沒(méi)有取得任何進(jìn)展,直到被叫方完成。復(fù)調(diào) C#中,如果一個(gè)方法被聲明為異步調(diào)用任何保證立即基本上完成。異步方法永遠(yuǎn)不會(huì)返回結(jié)果(或拋出異常) 。他們使用 async 關(guān)鍵字,而不是宣布無(wú)效。調(diào)用異步方法很像是發(fā)送消息,或張貼的 事件。由于異步方法立即返回,方法的調(diào)用如下 : async postEvent(EventInfo data) { // large method body } 是唯一可以合理地調(diào)用立即返回,“大被安排在不同的線(xiàn)程執(zhí)行方法體“(無(wú)論是一個(gè)新的催生了以服務(wù)這個(gè)呼叫,或者從一些游泳池的工人)。然而,這樣的定義,實(shí)際上是相當(dāng)難得的 C#復(fù)調(diào)。更常見(jiàn)的異步方法是使用如下所述的復(fù)調(diào),定義,不一定需要新的線(xiàn)程。復(fù)調(diào)。復(fù)調(diào)(也被稱(chēng)為“同步模 5 式”,或“加盟模式”)由一個(gè)頭和一個(gè)身體。頭是一套方法聲明由“&”分隔。身體 只執(zhí)行一次所有的方法,在頭被稱(chēng)為方法調(diào)用隱含排隊(duì)等候,直到 /除非是有現(xiàn)代并發(fā)抽象為 C#匹配的復(fù)調(diào)??紤],例如 : public class Buffer { public string Get() amp。 public async Put(string s) { return s。 } } 上面的代碼定義了兩個(gè)實(shí)例方法的類(lèi)的緩沖區(qū),這是共同定義在一個(gè)單一的復(fù)調(diào)。 string Get()方法是一個(gè)同步的方法不接受參數(shù)并返回一個(gè)字符串。 async Put(string s)方法是異步的(沒(méi)有返回結(jié)果),并接受一個(gè)字符 串參數(shù)。如果 buff 是緩沖和一個(gè)調(diào)用同步方法的 ]的一個(gè) buff . Get()實(shí)例。然后有兩種可能性: 如果有以前的未匹配過(guò)的的通話(huà) buff . Put(s) (for some string s),那么現(xiàn)在有一個(gè)比賽,所以離隊(duì)待沽 Put(s)和復(fù)調(diào)的身體運(yùn)行,返回到呼叫者的 buff . Get()方法。 如果是以前匹配過(guò)的來(lái)電 buff . Put(.),然后調(diào)用 BUFF. get()方法阻塞,直到另一個(gè)線(xiàn)程提供了一個(gè)匹配的 put()。 相反,在調(diào)用異步方法的 buff . Put(.),來(lái)電從未等待,但 對(duì)于其他線(xiàn)程可能有兩種行為: 如果有以前的未匹配過(guò)的通話(huà) buff . Get()再有就是現(xiàn)在的一次匹配,所以?huà)炱鹫{(diào)用出列和其相關(guān)阻塞的線(xiàn)程是喚醒運(yùn)行的復(fù)調(diào),返回值給 s。 如果沒(méi)有掛起調(diào)用的 (),然后調(diào)用到 buff . Put(s)僅僅是排隊(duì),直到一個(gè)個(gè)到達(dá)。 到底哪的電話(huà)匹配是不確定的,所以即使是單線(xiàn)程程序如: Buffer buff = new Buffer()。 buff . Put(“blue”)。 buff . Put(“sky”)。 (buff . Get() + buff . Get())。 也是不確定的(印刷或者“藍(lán)天”或“天藍(lán)”)。 請(qǐng)注意,執(zhí)行緩沖不涉及產(chǎn)生任何主題:復(fù)調(diào)本身在運(yùn)行時(shí),它在一個(gè)已經(jīng)存在的線(xiàn)程(即一個(gè)名為 Get())。讀者在這一點(diǎn)上可能會(huì)想什么規(guī)則決定在哪個(gè)線(xiàn)程體運(yùn)行,或如何,我們知道,方法調(diào)用將返回人體所計(jì)算的最終價(jià)值。答案是,在任何給定的弦,最多的一種方法可能是同步的。如果有這種方法,然后身體在與調(diào)用線(xiàn)程運(yùn)行這一號(hào)召的方法,并返回值。只是,如果沒(méi)有這樣的方法(即在弦的所有方法都是異步)運(yùn)行在一個(gè)新的線(xiàn)程,在這種情況下,有沒(méi)有要返 回的值。還應(yīng)當(dāng)指出,緩沖區(qū)的代碼,瑣碎,但它是,是線(xiàn)程安全的。需要鎖定(例如,以防止參數(shù)返回兩個(gè)不同的獲取到一個(gè)單放)自動(dòng)生成由編譯器。更確切地說(shuō),決定是否任何復(fù)調(diào)呼叫啟用,如果是這樣,從隊(duì)列中刪除其他懸而未決的呼叫和調(diào)度為執(zhí)行機(jī)構(gòu),是一個(gè)原子操作。除了這個(gè)原子性的保證,然而,有沒(méi)有監(jiān)視器像復(fù)調(diào)機(jī)構(gòu)之間的相互排斥的。任何相互排斥的需要,必須明確在編程在弦頭的同步條件。緩沖區(qū)的例子定義了兩個(gè)方法使用一個(gè)單一的復(fù)調(diào)。這也是(普通)有涉及給定方法的多復(fù)調(diào)。例如: public class Buffer { public string Get() amp。 public async Put(string s) { return s。 } public string Get() amp。 public async Put(int n) { return ()。 } 6 } 現(xiàn)在我們已經(jīng)定義為數(shù)據(jù)緩沖區(qū)的方法之一,但有兩個(gè)把它的方法(其中發(fā)生類(lèi)型,而不是要區(qū)分比名)。 Get()調(diào)用可以同步調(diào)用的 put()方法。如果有排隊(duì)調(diào)用 Put()s,那么哪一個(gè)同步隨后 Get()是不確定的。 3。非正式規(guī)范 語(yǔ) 法 到 C 語(yǔ)法的語(yǔ)法擴(kuò)展 [ECMA 2020, Appendix C]是非常次要的。我們添加一個(gè)新的關(guān)鍵字 async,并添加它作為一種替代的返回類(lèi)型: returntype : := type | void | async 這使得方法,代表和接口方法被宣布異步的。在類(lèi)成員的聲明中,我們更換方法聲明 chorddeclaration : := methodheader [amp。 methodheader]? body methodheader : := 屬性修飾符返回類(lèi)型成員名(形參)。 我們呼吁復(fù)調(diào)聲明微不足道 的,如果它宣布一個(gè)單一的,同步的方法(即它是一個(gè)標(biāo)準(zhǔn)的 C 方法聲明)。 良好的格式 擴(kuò)展類(lèi)是格式良好的條件: 在一個(gè)單一的方法頭: ( 1)如果返回類(lèi)型是異步的,那么正式的參數(shù)列表中的形參不得 包含任何 ref 或 out 參數(shù)修飾符。 在一個(gè)單一的復(fù)調(diào)聲明: ( 2)最多的一種方法頭可能有非異步的返回類(lèi)型。 ( 3)如果弦有一個(gè)返回類(lèi)型的類(lèi)型的方法頭,然后身體可能使用返回類(lèi)型的表達(dá)式的語(yǔ)句,否則身體可能使用空的 return 語(yǔ)句。 ( 4)在方法頭中出現(xiàn)的所有形參必須有鮮明的標(biāo)識(shí)。 ( 5)兩種方法,頭可能沒(méi)有相同 的成員名稱(chēng)和相同的參數(shù)類(lèi)型簽名。 ( 6)的方法,頭必須全部申報(bào)的實(shí)例方法或所有聲明的靜態(tài)方法。 在一個(gè)特定的類(lèi): ( 7
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1