2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  操作系統(tǒng)課程設(shè)計(jì)報(bào)告</p><p>  題 目: 讀者寫者問題</p><p>  學(xué) 院: </p><p>  專 業(yè): </p><p>  班 級(jí): </p><p>  學(xué) 號(hào):

2、 </p><p>  姓 名: </p><p>  指導(dǎo)老師: </p><p>  目 錄</p><p>  一 設(shè)計(jì)概述……………………………………………………3</p><p>  二 設(shè)計(jì)目的與內(nèi)容……………………………………………4<

3、;/p><p>  三 設(shè)計(jì)分析……………………………………………………5</p><p>  四 程序?qū)崿F(xiàn)……………………………………………………6</p><p>  五 程序調(diào)試……………………………………………………7</p><p>  六 結(jié)果分析和討論……………………………………………7</p><p&g

4、t;  七 心得體會(huì)……………………………………………………8</p><p>  八 源代碼 ………………………………………………………8</p><p>  九 實(shí)驗(yàn)截圖……………………………………………………14</p><p><b>  一 設(shè)計(jì)概述</b></p><p>  所謂讀者寫者問題,是指保證一個(gè)

5、writer進(jìn)程必須與其他進(jìn)程互斥地訪問共享對(duì)象的同步問題。</p><p>  讀者寫者問題可以這樣的描述,有一群寫者和一群讀者,寫者在寫同一本書,讀者也在讀這本書,多個(gè)讀者可以同時(shí)讀這本書,但是,只能有一個(gè)寫者在寫書,并且,讀者必寫者優(yōu)先,也就是說,讀者和寫者同時(shí)提出請(qǐng)求時(shí),讀者優(yōu)先。當(dāng)讀者提出請(qǐng)求時(shí)需要有一個(gè)互斥操作,另外,需要有一個(gè)信號(hào)量S來當(dāng)前是否可操作。</p><p>  信

6、號(hào)量機(jī)制是支持多道程序的并發(fā)操作系統(tǒng)設(shè)計(jì)中解決資源共享時(shí)進(jìn)程間的同步與互斥的重要機(jī)制,而讀者寫者問題則是這一機(jī)制的一個(gè)經(jīng)典范例。</p><p>  與記錄型信號(hào)量解決讀者—寫者問題不同,信號(hào)量機(jī)制它增加了一個(gè)限制,即最多允許RN個(gè)讀者同時(shí)讀。為此,又引入了一個(gè)信號(hào)量L,并賦予初值為RN,通過執(zhí)行wait(L,1,1)操作,來控制讀者的數(shù)目,每當(dāng)有一個(gè)讀者進(jìn)入時(shí),就要執(zhí)行wait(L,1,1)操作,使L的值減1。

7、當(dāng)有RN個(gè)讀者進(jìn)入讀后,L便減為0,第RN+1 個(gè)讀者要進(jìn)入讀時(shí),必然會(huì)因wait(L,1,1)操作失敗而堵塞。對(duì)利用信號(hào)量來解決讀者—寫者問題的描述如下:</p><p>  Var RN integer;L,mx:semaphore: =RN,1;</p><p><b>  Begin</b></p><p><b>  Par

8、begin</b></p><p>  Reader :begin</p><p><b>  Repeat</b></p><p>  Swait(L,1,1);</p><p>  Swait(mx,1,0);       .</p>

9、<p>  Perform reader operation;</p><p>  Ssignal(L,1);</p><p>  Until false;</p><p><b>  End</b></p><p>  Writer :begin</p><p><b>

10、  Repeat</b></p><p>  Swait(mx ,1,1,l,RN,0);</p><p>  Perform writer operation;</p><p>  Ssignal(mx,1);</p><p>  Until false;</p><p><b>  End&l

11、t;/b></p><p><b>  Parend</b></p><p><b>  End</b></p><p>  其中,Swait(mx,1,0)語句起著開關(guān)作用,只要無Writer進(jìn)程進(jìn)入些,mx=1,reader進(jìn)程就都可以進(jìn)入讀。但是要一旦有Writer進(jìn)程進(jìn)入寫時(shí),其MX=0,則任何reader進(jìn)

12、程就都無法進(jìn)入讀。Swait(mx ,1,1,l,RN,0)語句表示僅當(dāng)既無Write進(jìn)程在寫(mx=1),又無reader進(jìn)程在讀(L=RN)時(shí),writer進(jìn)程才能進(jìn)入臨界區(qū)寫。</p><p>  本設(shè)計(jì)方案就是通過利用記錄型信號(hào)量對(duì)讀者寫者問題的解決過程進(jìn)行模擬演示,形象地闡述記錄型信號(hào)量機(jī)制的工作原理。</p><p><b>  二 設(shè)計(jì)目的與內(nèi)容</b>

13、</p><p><b>  一 實(shí)驗(yàn)?zāi)康?lt;/b></p><p>  l. 用信號(hào)量來實(shí)現(xiàn)讀者寫者問題。</p><p>  2. 理解和運(yùn)用信號(hào)量、PV原語、進(jìn)程間的同步互斥關(guān)系等基本知識(shí)。二、二 實(shí)驗(yàn)內(nèi)容</p><p>  讀者寫者問題的定義如下:有一個(gè)許多進(jìn)程共享的數(shù)據(jù)區(qū),這個(gè)數(shù)據(jù)區(qū)可以是一個(gè)文件或者主存的一塊

14、空間;有一些只讀取這個(gè)數(shù)據(jù)區(qū)的進(jìn)程(Reader)和一些只往數(shù)據(jù)區(qū)寫數(shù)據(jù)的進(jìn)程(Writer),此外還需要滿足以下條件:</p><p> ?。?)    任意多個(gè)讀進(jìn)程可以同時(shí)讀這個(gè)文件;</p><p> ?。?)    一次只有一個(gè)寫進(jìn)程可以往文件中寫;</p><p> ?。?) 

15、0;  如果一個(gè)寫進(jìn)程正在進(jìn)行操作,禁止任何讀進(jìn)程度文件。</p><p>  我們需要分兩種情況實(shí)現(xiàn)該問題:</p><p>  讀優(yōu)先:要求指一個(gè)讀者試圖進(jìn)行讀操作時(shí),如果這時(shí)正有其他讀者在進(jìn)行操作,他可直接開始讀操作,而不需要等待。</p><p>  寫優(yōu)先:一個(gè)讀者試圖進(jìn)行讀操作時(shí),如果有其他寫者在等待進(jìn)行寫操作或正在進(jìn)行寫操作,他要等待該寫者完

16、成寫操作后才開始讀操作。</p><p><b>  三設(shè)計(jì)分析</b></p><p>  在Windows 7 環(huán)境下,創(chuàng)建一個(gè)包含n 個(gè)線程的控制臺(tái)進(jìn)程。用這n 個(gè)線程來表示n個(gè)讀者或?qū)懻?。每個(gè)線程按相應(yīng)測試數(shù)據(jù)文件的要求,進(jìn)行讀寫操作。請(qǐng)用信號(hào)量機(jī)制分別實(shí)現(xiàn)讀者優(yōu)先和寫者優(yōu)先的讀者-寫者問題。</p><p>  讀者-寫者問題的讀寫操

17、作限制:</p><p>  讀者-寫者的讀寫限制(包括讀者優(yōu)先和寫者優(yōu)先)</p><p>  1)寫-寫互斥,即不能有兩個(gè)寫者同時(shí)進(jìn)行寫操作</p><p>  2)讀-寫互斥,即不能同時(shí)有一個(gè)讀者在讀,同時(shí)卻有一個(gè)寫者在寫</p><p>  3)讀讀允許,即可以有2個(gè)以上的讀者同時(shí)讀</p><p>  將所有

18、的讀者和所有的寫者分別放進(jìn)兩個(gè)等待隊(duì)列中,當(dāng)讀允許時(shí)就讓讀者隊(duì)列釋放一個(gè)或多個(gè)讀者,當(dāng)寫允許時(shí),釋放第一個(gè)寫者操作。讀者寫者問題的定義如下:有一個(gè)許多進(jìn)程共享的數(shù)據(jù)區(qū),這個(gè)數(shù)據(jù)區(qū)可以是一個(gè)文件或者主存的一塊空間;有一些只讀取這個(gè)數(shù)據(jù)區(qū)的進(jìn)程(Reader)和一些只往數(shù)據(jù)區(qū)寫數(shù)據(jù)的進(jìn)程(Writer),此外還需要滿足以下條件:1)任意多個(gè)讀進(jìn)程可以同時(shí)讀這個(gè)文件;2) 一次只有一個(gè)寫進(jìn)程可以往文件中寫;3)如果一個(gè)寫進(jìn)程正在進(jìn)行操作,禁止

19、任何讀進(jìn)程度文件。我們需要分兩種情況實(shí)現(xiàn)該問題:</p><p>  讀優(yōu)先:要求指一個(gè)讀者試圖進(jìn)行讀操作時(shí),如果這時(shí)正有其他讀者在進(jìn)行操作,他可直接開始讀操作,而不需要等待。寫優(yōu)先:一個(gè)讀者試圖進(jìn)行讀操作時(shí),如果有其他寫者在等待進(jìn)行寫操作或正在進(jìn)行寫操作,他要等待該寫者完成寫操作后才開始讀操作。</p><p><b>  四 程序?qū)崿F(xiàn)  </b><

20、/p><p><b>  程序由兩部分組成:</b></p><p>  1。讀者-寫者模塊:包括系統(tǒng)調(diào)用接口,讀者-寫者活動(dòng)描述主程序。系統(tǒng)接口主要功能是通過管道向父進(jìn)程發(fā)送系統(tǒng)調(diào)用命令,并讀取父進(jìn)程送來的返回值。</p><p>  讀者-寫者活動(dòng)程序根據(jù)臨界資源的共享,互斥原則編制,具體見源程序。</p><p>  

21、2。主控模塊:主控模塊實(shí)現(xiàn)系統(tǒng)初始化系統(tǒng)調(diào)用命令接收與解釋執(zhí)行,系統(tǒng)調(diào)用功能的實(shí)現(xiàn)(包括信號(hào)量機(jī)制),及讀者-寫者活動(dòng)過程記錄與顯示。</p><p>  初始化系統(tǒng)環(huán)境   </p><p>  建立通信管道      </p><p>  啟動(dòng)讀者-寫者進(jìn)程  &

22、#160;</p><p><b>  接收系統(tǒng)調(diào)用命令</b></p><p><b>  解釋執(zhí)行   </b></p><p><b>  五 程序調(diào)試</b></p><p><b>  測試數(shù)據(jù)文件格式:</b>&l

23、t;/p><p>  測試數(shù)據(jù)文件包括n 行測試數(shù)據(jù),分別描述創(chuàng)建的n 個(gè)線程是讀者還是寫者,以及讀寫操作的開始時(shí)間和持續(xù)時(shí)間。每行測試數(shù)據(jù)包括四個(gè)字段,各字段間用空格分隔。第一字段為一個(gè)正整數(shù),表示線程序號(hào)。第二字段表示相應(yīng)線程角色,R 表示讀者是,W 表示寫者。第三字段為一個(gè)正數(shù),表示讀寫操作的開始時(shí)間。線程創(chuàng)建后,延時(shí)相應(yīng)時(shí)間(單位為秒)后發(fā)出對(duì)共享資源的讀寫申請(qǐng)。第四字段為一個(gè)正數(shù),表示讀寫操作的持續(xù)時(shí)間。當(dāng)

24、線程讀寫申請(qǐng)成功后,開始對(duì)共享資源的讀寫操作,該操作持續(xù)相應(yīng)時(shí)間后結(jié)束,并釋放共享資源。</p><p><b>  六 結(jié)果分析和討論</b></p><p>  在讀者寫者同時(shí)在隊(duì)列中等待申請(qǐng)資時(shí),讀者優(yōu)先調(diào)用資源。而且如果一個(gè)讀者申請(qǐng)進(jìn)行讀操作時(shí)已有另一讀者正在進(jìn)行讀操作,則該讀者可直接開始讀操作,即讀讀允許。</p><p>  進(jìn)程1

25、是R操作,在時(shí)間3時(shí)進(jìn)入隊(duì)列,運(yùn)行時(shí)間是5,在它進(jìn)入時(shí)沒有進(jìn)程占用資源,它既占用資源;知道它釋放資源,等候的進(jìn)程有3,4,5;</p><p>  進(jìn)程2是W操作,在時(shí)間16時(shí)進(jìn)入隊(duì)列,運(yùn)行時(shí)間是5,在它進(jìn)入時(shí)進(jìn)程4占用資源,它等待資源,當(dāng)4釋放時(shí)占用資源;</p><p>  進(jìn)程3是R操作,在時(shí)間5時(shí)進(jìn)入隊(duì)列,運(yùn)行時(shí)間是2,在它進(jìn)入時(shí)進(jìn)程1占用資源,它等待資源,當(dāng)進(jìn)程1釋放資源后,由于

26、讀者優(yōu)先,進(jìn)程3,5同時(shí)調(diào)運(yùn)資源;</p><p>  進(jìn)程4是R操作,在時(shí)間6時(shí)進(jìn)入隊(duì)列,運(yùn)行時(shí)間是5,在它進(jìn)入時(shí)進(jìn)程1占用資源,它等待資源,當(dāng)進(jìn)程1釋放資源后,由于讀者優(yōu)先,進(jìn)程3,5占用資源,它依然等待,直到進(jìn)程3,5都結(jié)束;</p><p>  進(jìn)程5是W操作,在時(shí)間4時(shí)進(jìn)入隊(duì)列,運(yùn)行時(shí)間是3, 在它進(jìn)入時(shí)進(jìn)程1占用資源,它等待資源,當(dāng)進(jìn)程1釋放資源后,由于讀者優(yōu)先,進(jìn)程3,5同時(shí)

27、調(diào)運(yùn)資源;</p><p><b>  七 心得體會(huì)</b></p><p>  這一次課程設(shè)計(jì),讓我體會(huì)很深刻。讀者-寫者問題經(jīng)典的線程同步問題的一個(gè)模型。經(jīng)過讀者寫者問題的編寫,我對(duì)同步機(jī)構(gòu)應(yīng)用有了深入的了解。懂得了運(yùn)用信號(hào)量實(shí)現(xiàn)進(jìn)程間的互斥。實(shí)現(xiàn)了不讓共享資源同時(shí)修改。用信號(hào)量上的原語操作使臨界段問題的解決比較簡單明了了。讀者寫者問題的編寫,花的時(shí)間很多,也學(xué)到

28、很多東西。了解支持多道程序的并發(fā)操作系統(tǒng)設(shè)計(jì)中解決資源共享時(shí)進(jìn)程間的同步與互斥的信號(hào)量機(jī)制。幾天的試驗(yàn),雖然難度有點(diǎn)大,但只要自己花時(shí)間去學(xué)習(xí),還是會(huì)攻克困難的。</p><p>  總之,每一次課程設(shè)計(jì)不僅是我們學(xué)習(xí)的好機(jī)會(huì),而且是我們鍛煉實(shí)際動(dòng)手能力的平臺(tái),雖然有難度的東西總會(huì)讓人很抵觸,比如在課設(shè)過程中有很多郁悶的時(shí)候,一個(gè)小小的錯(cuò)誤一不小心就花去了自己一上午的時(shí)間,所以在這個(gè)過程中能夠磨練人的意志與耐心,

29、最后感謝鄒云康老師的指導(dǎo)與監(jiān)督。</p><p><b>  八 源代碼</b></p><p>  #include <windows.h></p><p>  #include <ctype.h></p><p>  #include <stdio.h></p>&l

30、t;p>  #include <string.h></p><p>  #include <stdlib.h></p><p>  #include <malloc.h></p><p>  #define  MAX_PERSON   100</p><p>  #def

31、ine  READER       0 //讀者</p><p>  #define  WRITER       1 //寫者</p><p>  #define  END      

32、;   -1</p><p>  #define  R            READER</p><p>  #define  W         &

33、#160;  WRITER</p><p>  typedef struct _Person</p><p><b>  {</b></p><p>  HANDLE m_hThread;//定義處理線程的句柄</p><p>  int    m_nType;//進(jìn)程類型(讀寫)

34、</p><p>  int    m_nStartTime;//開始時(shí)間</p><p>  int    m_nWorkTime;//運(yùn)行時(shí)間</p><p>  int    m_nID;//進(jìn)程號(hào)</p><p><b>  }Pers

35、on;</b></p><p>  Person g_Persons[MAX_PERSON];</p><p>  int    g_NumPerson = 0;</p><p>  long   g_CurrentTime= 0;//基本時(shí)間片數(shù)</p><p>  int

36、60;   g_PersonLists[] = {//進(jìn)程隊(duì)列</p><p>  1, R, 3, 5,  2, W, 4, 5,  3, R, 5, 2,</p><p>  4, R, 6, 5,  5, W, 5.1, 3, END,};</p><p>  int    g_N

37、umOfReading = 0;</p><p>  int    g_NumOfWriteRequest = 0;//申請(qǐng)寫進(jìn)程的個(gè)數(shù)</p><p>  HANDLE g_hReadSemaphore;//讀者信號(hào)</p><p>  HANDLE g_hWriteSemaphore;//寫者信號(hào)</p><p&

38、gt;  bool finished = false; //所有的讀完成</p><p>  //bool wfinished = false; //所有的寫完成</p><p>  void  CreatePersonList(int *pPersonList);</p><p>  bool  CreateReader(int StartTi

39、me,int WorkTime,int ID);</p><p>  bool  CreateWriter(int StartTime,int WorkTime,int ID);</p><p>  DWORD  WINAPI    ReaderProc(LPVOID lpParam);</p><p>  DWOR

40、D  WINAPI    WriterProc(LPVOID lpParam);</p><p>  int main()</p><p><b>  {</b></p><p>  g_hReadSemaphore  = CreateSemaphore(NULL,1,100,NULL); //

41、創(chuàng)建信號(hào)燈,當(dāng)前可用的資源數(shù)為1,最大為100</p><p>  g_hWriteSemaphore = CreateSemaphore(NULL,1,100,NULL); //創(chuàng)建信號(hào)燈,當(dāng)前可用的資源數(shù)為1,最大為100</p><p>  CreatePersonList(g_PersonLists); // Create All the reader and writers<

42、;/p><p>  printf("Created all the reader and writer\n...\n");</p><p>  g_CurrentTime = 0;</p><p>  while(true)</p><p><b>  {</b></p><p>

43、  g_CurrentTime++;</p><p>  Sleep(300); // 300 ms</p><p>  printf("CurrentTime = %d\n",g_CurrentTime);</p><p>  if(finished) return 0;</p><p>  } // return 0;

44、</p><p><b>  }</b></p><p>  void CreatePersonList(int *pPersonLists)</p><p><b>  {</b></p><p><b>  int  i=0;</b></p><

45、;p>  int  *pList = pPersonLists;</p><p><b>  bool Ret;</b></p><p>  while(pList[0] != END)</p><p><b>  {</b></p><p>  switch(pList[1])&l

46、t;/p><p><b>  {</b></p><p><b>  case R:</b></p><p>  Ret = CreateReader(pList[2],pList[3],pList[0]);//351,w452,523,654</p><p>  break; case W:</

47、p><p>  Ret = CreateWriter(pList[2],pList[3],pList[0]);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  if(!Ret)</b></p>&l

48、t;p>  printf("Create Person %d is wrong\n",pList[0]);</p><p>  pList += 4; // move to next person list</p><p><b>  }</b></p><p><b>  }</b></p

49、><p>  DWORD  WINAPI ReaderProc(LPVOID lpParam)//讀過程</p><p><b>  {</b></p><p>  Person *pPerson = (Person*)lpParam;</p><p>  // wait for the start time<

50、;/p><p>  while(g_CurrentTime != pPerson->m_nStartTime)</p><p><b>  { }</b></p><p>  printf("Reader %d is Requesting ...\n",pPerson->m_nID);</p><

51、p>  printf("\n\n************************************************\n");</p><p>  // wait for the write request</p><p>  WaitForSingleObject(g_hReadSemaphore,INFINITE); if(g_NumOfReadi

52、ng ==0)</p><p><b>  {</b></p><p>  WaitForSingleObject(g_hWriteSemaphore,INFINITE); }</p><p>  g_NumOfReading++;</p><p>  ReleaseSemaphore(g_hReadSemaphore,

53、1,NULL);</p><p>  pPerson->m_nStartTime = g_CurrentTime;</p><p>  printf("Reader %d is Reading the Shared Buffer...\n",pPerson->m_nID);</p><p>  printf("\n\n***

54、*********************************************\n");</p><p>  while(g_CurrentTime <= pPerson->m_nStartTime + pPerson->m_nWorkTime)</p><p><b>  {}</b></p><p>

55、  printf("Reader %d is Exit...\n",pPerson->m_nID);</p><p>  printf("\n\n************************************************\n");</p><p>  WaitForSingleObject(g_hReadSemaphore

56、,INFINITE);</p><p>  g_NumOfReading--;</p><p>  if(g_NumOfReading == 0)</p><p>  {ReleaseSemaphore(g_hWriteSemaphore,1,NULL);//此時(shí)沒有讀者,可以寫</p><p><b>  }</b>&

57、lt;/p><p>  ReleaseSemaphore(g_hReadSemaphore,1,NULL);</p><p>  if(pPerson->m_nID == 4) finished = true; //所有的讀寫完成</p><p>  ExitThread(0);</p><p><b>  return 0;&l

58、t;/b></p><p><b>  }</b></p><p>  DWORD  WINAPI WriterProc(LPVOID lpParam)</p><p><b>  {</b></p><p>  Person *pPerson = (Person*)lpParam;

59、</p><p>  // wait for the start time</p><p>  while(g_CurrentTime != pPerson->m_nStartTime)</p><p><b>  {}</b></p><p>  printf("Writer %d is Request

60、ing ...\n",pPerson->m_nID);</p><p>  printf("\n\n************************************************\n");</p><p>  WaitForSingleObject(g_hWriteSemaphore,INFINITE);</p><

61、p>  // modify the writer's real start time</p><p>  pPerson->m_nStartTime = g_CurrentTime;</p><p>  printf("Writer %d is Writting the Shared Buffer...\n",pPerson->m_nID);&

62、lt;/p><p>  while(g_CurrentTime <= pPerson->m_nStartTime + pPerson->m_nWorkTime)</p><p><b>  {}</b></p><p>  printf("Writer %d is Exit...\n",pPerson->

63、m_nID);</p><p>  printf("\n\n************************************************\n");</p><p>  //g_NumOfWriteRequest--;</p><p>  ReleaseSemaphore(g_hWriteSemaphore,1,NULL);&l

64、t;/p><p>  if(pPerson->m_nID == 4) finished = true;//所有的讀寫完成</p><p>  ExitThread(0);</p><p><b>  return 0;</b></p><p><b>  }</b></p><

65、p>  bool CreateReader(int StartTime,int WorkTime,int ID)</p><p><b>  {</b></p><p>  DWORD dwThreadID;</p><p>  if(g_NumPerson >= MAX_PERSON)</p><p>  

66、return false;</p><p>  Person *pPerson = &g_Persons[g_NumPerson];</p><p>  pPerson->m_nID = ID;</p><p>  pPerson->m_nStartTime = StartTime;</p><p>  pPerson-&

67、gt;m_nWorkTime = WorkTime;</p><p>  pPerson->m_nType = READER;</p><p>  g_NumPerson++;</p><p>  // Create an New Thread</p><p>  pPerson->m_hThread= CreateThread(

68、NULL,0,ReaderProc,(LPVOID)pPerson,0,&dwThreadID);</p><p>  if(pPerson->m_hThread == NULL)</p><p>  return false;</p><p>  return true;</p><p><b>  }</b&

69、gt;</p><p>  bool CreateWriter(int StartTime,int WorkTime,int ID)</p><p><b>  {</b></p><p>  DWORD dwThreadID;</p><p>  if(g_NumPerson >= MAX_PERSON)

70、0;</p><p>  return false;</p><p>  Person *pPerson  = &g_Persons[g_NumPerson];</p><p>  pPerson->m_nID  = ID;</p><p>  pPerson->m_nStartTime = Start

71、Time;</p><p>  pPerson->m_nWorkTime  = WorkTime;</p><p>  pPerson->m_nType   = WRITER;</p><p>  g_NumPerson++;</p><p>  // Create an New Thread<

72、/p><p>  pPerson->m_hThread= CreateThread(NULL,0,WriterProc,(LPVOID)pPerson,0,&dwThreadID);</p><p>  if(pPerson->m_hThread == NULL)</p><p>  return false;</p><p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論