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

正文內(nèi)容

11程序設(shè)計(jì)實(shí)踐6w-線程、模塊化、時(shí)間函數(shù)和設(shè)計(jì)問題-全文預(yù)覽

2025-03-18 04:18 上一頁面

下一頁面
  

【正文】 state=RUN。 C語言變量名必須由下劃線、字母或者數(shù)字組成,且第一個(gè)字符是下劃線或者字母。 } system(pause)。 include include //注意頭文件一定要包含 int main () { int i=9。 } 66 線程休眠函數(shù): Sleep(int); ? Sleep( 1000) Windows下表示 1000毫秒,也就是 1秒鐘; Linux下表示1000秒, Linux下使用毫秒級(jí)別的函數(shù)可以使用 usleep。 } 65 下述循環(huán)將持續(xù)運(yùn)行 1秒鐘 clock_t start, finish; double duration。//什么都不做 finish = clock()。 double duration。 ? 常量 CLOCKS_PER_SEC, 它表示一秒鐘會(huì)有多少個(gè)時(shí)鐘計(jì)時(shí)單元 。 ? 這個(gè)函數(shù)返回從 “ 啟動(dòng)程序 ” 到 “ 程序中調(diào)用 clock()函數(shù) ” 之間的 CPU時(shí)鐘計(jì)時(shí)單元( clock tick)數(shù),在MSDN中稱之為掛鐘時(shí)間( walclock)。/*輸出電梯此刻的狀態(tài) */ control()。 ? 要考慮策略可切換的問題:如何設(shè)計(jì)模塊,使得當(dāng)增加一個(gè)新的策略時(shí),對(duì)現(xiàn)有代碼的修改盡量少? ? 進(jìn)行清楚的描述。 4. 程序模塊化:函數(shù)接口說明,函數(shù)調(diào)用關(guān)系說明。 54 概要設(shè)計(jì)主要從以下 5個(gè)方面考慮: 1. 用戶界面:界面友好,要能從界面提示信息了解電梯 /火車 /銀行的狀態(tài)和請(qǐng)求。在許多文件中都使用的全局變量,一般在主程序文件里定義。 49 源文件設(shè)計(jì)時(shí)要注意以下問題: – 每個(gè)源文件只包含必要的頭文件,不用的東西盡量不包含。 – 通常,輸入和輸出有關(guān)的函數(shù)放在一個(gè)文件中;主函數(shù)單獨(dú)建立一個(gè)文件,其中也可以包含少數(shù)與它關(guān)系密切的其他函數(shù)的定義 48 ? 頭文件的確定 – 把所有公用的類型定義(結(jié)構(gòu)、聯(lián)合或枚舉聲明),公用的宏定義放在適當(dāng)?shù)念^文件中,供各個(gè)文件參考。 – 在編譯該程序時(shí),可以以源文件為單位分別進(jìn)行編譯,產(chǎn)生對(duì)應(yīng)的目標(biāo)文件,然后再用鏈接程序?qū)⒍鄠€(gè)目標(biāo)文件鏈接成一個(gè)可執(zhí)行文件。它取決于各個(gè)模塊之間接口的復(fù)雜程度、調(diào)用模塊的方式以及哪些信息通過接口。 (1) 內(nèi)聚性( Cohesion) 內(nèi)聚是模塊功能強(qiáng)度(一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度)的度量。 – 一般采用兩個(gè)準(zhǔn)則度量模塊獨(dú)立性,即模塊間耦合 和模塊 內(nèi)聚 。就是說,模塊中所包含的信息(包括數(shù)據(jù)和過程)不允許其它不需要這些信息的模塊使用。函數(shù)是最小的模塊,若干個(gè)緊密相關(guān)的函數(shù)可以組成更大的模塊--源文件。高層模塊從整體上把握問題 , 隱蔽細(xì)節(jié)。 ? 概要設(shè)計(jì):將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)模塊;決定每個(gè)模塊的功能;決定模塊之間的調(diào)用關(guān)系,即模塊間傳遞的數(shù)據(jù);決定模塊的接口。 – 軟件設(shè)計(jì)又是將用戶要求準(zhǔn)確地轉(zhuǎn)化成為最終的軟件產(chǎn)品的唯一途徑。 – 過程設(shè)計(jì)則是把結(jié)構(gòu)成份轉(zhuǎn)換成軟件的過程性描述。 軟件設(shè)計(jì)概述 數(shù)據(jù)詞典 數(shù) 據(jù) 流 圖 實(shí) 體 關(guān) 系 圖 狀態(tài)轉(zhuǎn)換圖 加 工 控 制 規(guī) 規(guī) 格 格 說 說 明 明 數(shù) 據(jù) 對(duì) 象 描 述 過程設(shè)計(jì) 接口設(shè)計(jì) 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)設(shè)計(jì) 分析模型轉(zhuǎn)換為軟件設(shè)計(jì)的映射關(guān)系 167。 167。 ( 2)信息流 信息流表示了數(shù)據(jù)和控制在系統(tǒng)中流動(dòng)時(shí)變化的方式。 軟件需求分析: (1)問題的信息域必須被表示和理解。 //加入代碼:將 ch翻譯成相應(yīng)請(qǐng)求并保存; time_count()。/*輸出電梯此刻的狀態(tài) */ control()。 //創(chuàng)建線程(對(duì)應(yīng)于函數(shù) input()),用于接收電梯輸入; HANDLE hRead = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)getInput,NULL,0,ThreadID)。 return 0。 hThread2=CreateThread(NULL,0,Fun2Proc,NULL ,0,NULL)。 } return 0。 } return 0。 int tickets=100。如果將此參數(shù)設(shè)置為 INFINITE, 則該函數(shù)會(huì)永遠(yuǎn)等待,直到等待的對(duì)象處于有信號(hào)狀態(tài)才會(huì)返回。如果該互斥對(duì)象始終處于無信號(hào)狀態(tài),即未通知的狀態(tài),則該函數(shù)就會(huì)一直等待,這樣就會(huì)暫停線程的執(zhí)行。該函數(shù)的返回值是 BOOL類型,如果函數(shù)調(diào)用成功,返回非 0值;否則返回 0值。 ? lpName:指定互斥對(duì)象的名稱。 return 0。 HANDLE hThread2=CreateThread(NULL,0,Fun2Proc,NULL,0,NULL)。 return 0。 } 13 例 3 DWORD WINAPI Fun1Proc(LPVOID lpParameter) { while(index++1000) { printf(hThreadl is running\n)。//1 hThreadl=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL)。 //3 printf(main thread is running\n)。 return 0。 //2 CloseHandle(hThreadl)。 HANDLE hRead1 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)getInput, NULL,0,ThreadID1)。 ? dwCreationFlags表示是否創(chuàng)建后掛起線程 (取值CREATE_SUSPENDED表示掛起,取值 0表示創(chuàng)建后立即運(yùn)行 ),掛起后調(diào)用 ResumeThread繼續(xù)執(zhí)行。賦值為指向函數(shù)的指針,即函數(shù)名。 9 ? lpThreadAttributes表示創(chuàng)建線程的安全屬性, NT下有用。一個(gè)進(jìn)程從主線程的執(zhí)行開始進(jìn)而創(chuàng)建一個(gè)或多個(gè)附加線程,就是所謂基于多線程的多任務(wù)。 /*根據(jù)控制策略確定下一目標(biāo)樓層,這 在 state_trans()中要用到 */ time_count()。 /*根據(jù)控制策略確定下一目標(biāo)樓層, 在 state_trans()中要用到 */ time_count()。 模塊化設(shè)計(jì)問題 1 提綱 1. 使用線程實(shí)現(xiàn)任務(wù)并發(fā) 2. 模塊化和工程 3. 概要設(shè)計(jì)要點(diǎn) 4. 時(shí)間控制函數(shù) 5. 有限狀態(tài)自動(dòng)機(jī)解題 2 ? 問題的引出:以電梯控制系統(tǒng)為例 ? 目前能想到的程序主體結(jié)構(gòu) main(){ while (1){ state_trans()。 //接收當(dāng)前時(shí)刻的新輸入(包括新目 標(biāo)和新呼叫) control()。 //輸出電梯此刻的狀態(tài) control()。 – 一個(gè)程序中多段代碼同時(shí)并發(fā)執(zhí)行,稱為多線程 ? 譬如用 word同時(shí)打開多個(gè)文檔進(jìn)行編輯,用 IE瀏覽器同時(shí)訪問多個(gè)網(wǎng)站 – 通過多線程,一
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1