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

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

?? mfc

?? 很好的MFC書籍
??
?? 第 1 頁 / 共 3 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0041)http://www.vczx.com/tutorial/mfc/mfc8.php -->
<HTML><HEAD><TITLE>MFC教程_ MFC的進程和線程</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<OL start=8>
  <P align=justify>
  <LI><A name=_Toc445889076></A><A name=_Toc445782479></A><A 
  name=_Toc452640940></A><A name=_Toc457299038></A><B>MFC的進程和線程</B> 
  <P></P>
  <OL>
    <P align=justify>
    <LI><B><A name=_Toc445889077></A><A name=_Toc445782480></A><A 
    name=_Toc452640941></A><A name=_Toc457299039></A>Win32的進程和線程概念</B> 
    <P></P></LI></OL></LI></OL>
<P 
align=justify>進程是一個可執(zhí)行的程序,由私有虛擬地址空間、代碼、數(shù)據(jù)和其他操作系統(tǒng)資源(如進程創(chuàng)建的文件、管道、同步對象等)組成。一個應用程序可以有一個或多個進程,一個進程可以有一個或多個線程,其中一個是主線程。</P>
<P 
align=justify>線程是操作系統(tǒng)分時調(diào)度分配CPU時間的基本實體。一個線程可以執(zhí)行程序的任意部分的代碼,即使這部分代碼被另一個線程并發(fā)地執(zhí)行;一個進程的所有線程共享它的虛擬地址空間、全局變量和操作系統(tǒng)資源。</P>
<P align=justify>之所以有線程這個概念,是因為以線程而不是進程為調(diào)度對象效率更高:</P>
<UL>
  <P align=justify>
  <LI>由于創(chuàng)建新進程必須加載代碼,而線程要執(zhí)行的代碼已經(jīng)被映射到進程的地址空間,所以創(chuàng)建、執(zhí)行線程的速度比進程更快。 
  <P></P>
  <P align=justify></P>
  <LI>一個進程的所有線程共享進程的地址空間和全局變量,所以簡化了線程之間的通訊。 
  <P></P></LI></UL>
<OL>
  <OL>
    <P align=justify>
    <LI><A name=_Toc445889078></A><A name=_Toc445782481></A><A 
    name=_Toc452640942></A><A name=_Toc457299040></A><B>Win32的進程處理簡介</B> 
    <P></P>
    <P align=justify>因為MFC沒有提供類處理進程,所以直接使用了Win32 API函數(shù)。</P>
    <OL>
      <P align=justify>
      <LI><A name=_Toc445889079></A><A name=_Toc445782482></A><A 
      name=_Toc452640943></A><A name=_Toc457299041></A><B>進程的創(chuàng)建</B> 
      <P></P>
      <P align=justify>調(diào)用CreateProcess函數(shù)創(chuàng)建新的進程,運行指定的程序。CreateProcess的原型如下:</P>
      <P align=justify>BOOL CreateProcess(</P>
      <P align=justify>LPCTSTR lpApplicationName,</P>
      <P align=justify>LPTSTR lpCommandLine,</P>
      <P align=justify>LPSECURITY_ATTRIBUTES lpProcessAttributes,</P>
      <P align=justify>LPSECURITY_ATTRIBUTES lpThreadAttributes,</P>
      <P align=justify>BOOL bInheritHandles,</P>
      <P align=justify>DWORD dwCreationFlags,</P>
      <P align=justify>LPVOID lpEnvironment,</P>
      <P align=justify>LPCTSTR lpCurrentDirectory,</P>
      <P align=justify>LPSTARTUPINFO lpStartupInfo,</P>
      <P align=justify>LPPROCESS_INFORMATION lpProcessInformation</P>
      <P align=justify>);</P>
      <P align=justify>其中:</P>
      <P align=justify>lpApplicationName指向包含了要運行模塊名字的字符串。</P>
      <P align=justify>lpCommandLine指向命令行字符串。</P>
      <P align=justify>lpProcessAttributes描述進程的安全性屬性,NT下有用。</P>
      <P align=justify>lpThreadAttributes描述進程初始線程(主線程)的安全性屬性,NT下有用。</P>
      <P 
      align=justify>bInHeritHandles表示子進程(被創(chuàng)建的進程)是否可以繼承父進程的句柄??梢岳^承的句柄有線程句柄、有名或無名管道、互斥對象、事件、信號量、映像文件、普通文件和通訊端口等;還有一些句柄不能被繼承,如內(nèi)存句柄、DLL實例句柄、GDI句柄、URER句柄等等。</P>
      <P align=justify>子進程繼承的句柄由父進程通過命令行方式或者進程間通訊(IPC)方式由父進程傳遞給它。</P>
      <P 
      align=justify>dwCreationFlags表示創(chuàng)建進程的優(yōu)先級類別和進程的類型。創(chuàng)建進程的類型分控制臺進程、調(diào)試進程等;優(yōu)先級類別用來控制進程的優(yōu)先級別,分Idle、Normal、High、Real_time四個類別。</P>
      <P align=justify>lpEnviroment指向環(huán)境變量塊,環(huán)境變量可以被子進程繼承。</P>
      <P align=justify>lpCurrentDirectory指向表示當前目錄的字符串,當前目錄可以繼承。</P>
      <P align=justify>lpStartupInfo指向StartupInfo結(jié)構(gòu),控制進程的主窗口的出現(xiàn)方式。</P>
      <P 
      align=justify>lpProcessInformation指向PROCESS_INFORMATION結(jié)構(gòu),用來存儲返回的進程信息。</P>
      <P align=justify>從其參數(shù)可以看出創(chuàng)建一個新的進程需要指定什么信息。</P>
      <P 
      align=justify>從上面的解釋可以看出,一個進程包含了很多信息。若進程創(chuàng)建成功的話,返回一個進程信息結(jié)構(gòu)類型的指針。進程信息結(jié)構(gòu)如下:</P>
      <P align=justify>typedef struct _PROCESS_INFORMATION {</P>
      <P align=justify>HANDLE hProcess; </P>
      <P align=justify>HANDLE hThread; </P>
      <P align=justify>DWORD dwProcessId; </P>
      <P align=justify>DWORD dwThreadId; </P>
      <P align=justify>}PROCESS_INFORMATION; </P>
      <P align=justify>進程信息結(jié)構(gòu)包括進程句柄,主線程句柄,進程ID,主線程ID。</P>
      <P align=justify></P>
      <LI><A name=_Toc445889080></A><A name=_Toc445782483></A><A 
      name=_Toc452640944></A><A name=_Toc457299042></A><B>進程的終止</B> 
      <P></P></LI></OL></LI></OL></OL>
<P align=justify>進程在以下情況下終止:</P>
<UL>
  <P align=justify>
  <LI>調(diào)用ExitProcess結(jié)束進程; 
  <P></P>
  <P align=justify></P>
  <LI>進程的主線程返回,隱含地調(diào)用ExitProcess導致進程結(jié)束; 
  <P></P>
  <P align=justify></P>
  <LI>進程的最后一個線程終止; 
  <P></P>
  <P align=justify></P>
  <LI>調(diào)用TerminateProcess終止進程。 
  <P></P>
  <P align=justify></P>
  <LI>當要結(jié)束一個GDI進程時,發(fā)送WM_QUIT消息給主窗口,當然也可以從它的任一線程調(diào)用ExitProcess。 
  <P></P></LI></UL>
<OL>
  <OL>
    <P align=justify>
    <LI><A name=_Toc445889081></A><A name=_Toc445782484></A><A 
    name=_Toc452640945></A><A name=_Toc457299043></A><B>Win32的線程</B> 
    <P></P>
    <OL>
      <P align=justify>
      <LI><B><A name=_Toc445889082></A><A name=_Toc445782485></A><A 
      name=_Toc452640946></A><A name=_Toc457299044></A>線程的創(chuàng)建</B> 
      <P></P></LI></OL></LI></OL></OL>
<P align=justify>使用CreateThread函數(shù)創(chuàng)建線程,CreateThread的原型如下:</P>
<P align=justify>HANDLE CreateThread(</P>
<P align=justify>LPSECURITY_ATTRIBUTES lpThreadAttributes,</P>
<P align=justify>DWORD dwStackSize,</P>
<P align=justify>LPTHREAD_START_ROUTINE lpStartAddress,</P>
<P align=justify>LPVOID lpParameter,</P>
<P align=justify>DWORD dwCreationFlags, // creation flags</P>
<P align=justify>LPDWORD lpThreadId</P>
<P align=justify>);</P>
<P align=justify>其中:</P>
<P align=justify>lpThreadAttributes表示創(chuàng)建線程的安全屬性,NT下有用。</P>
<P align=justify>dwStackSize指定線程棧的尺寸,如果為0則與進程主線程棧相同。</P>
<P align=justify>lpStartAddress指定線程開始運行的地址。</P>
<P align=justify>lpParameter表示傳遞給線程的32位的參數(shù)。</P>
<P 
align=justify>dwCreateFlages表示是否創(chuàng)建后掛起線程(取值CREATE_SUSPEND),掛起后調(diào)用ResumeThread繼續(xù)執(zhí)行。</P>
<P align=justify>lpThreadId用來存放返回的線程ID。</P>
<P align=justify></P>
<UL>
  <P align=justify>
  <LI>線程的優(yōu)先級別 
  <P></P></LI></UL>
<P 
align=justify>進程的每個優(yōu)先級類包含了五個線程的優(yōu)先級水平。在進程的優(yōu)先級類確定之后,可以改變線程的優(yōu)先級水平。用SetPriorityClass設(shè)置進程優(yōu)先級類,用SetThreadPriority設(shè)置線程優(yōu)先級水平。</P>
<P align=justify>Normal級的線程可以被除了Idle級以外的任意線程搶占。</P>
<OL>
  <OL>
    <OL>
      <P align=justify>
      <LI><A name=_Toc445889083></A><A name=_Toc445782486></A><A 
      name=_Toc452640947></A><A name=_Toc457299045></A><B>線程的終止</B> 
      <P></P></LI></OL></OL></OL>
<P align=justify>以下情況終止一個線程:</P>
<UL>
  <P align=justify>
  <LI>調(diào)用了ExitThread函數(shù); 
  <P></P>
  <P align=justify></P>
  <LI>線程函數(shù)返回:主線程返回導致ExitProcess被調(diào)用,其他線程返回導致ExitThread被調(diào)用; 
  <P></P>
  <P align=justify></P>
  <LI>調(diào)用ExitProcess導致進程的所有線程終止; 
  <P></P>
  <P align=justify></P>
  <LI>調(diào)用TerminateThread終止一個線程; 
  <P></P>
  <P align=justify></P>
  <LI>調(diào)用TerminateProcess終止一個進程時,導致其所有線程的終止。 
  <P></P></LI></UL>
<P 
align=justify>當用TerminateProcess或者TerminateThread終止進程或線程時,DLL的入口函數(shù)DllMain不會被執(zhí)行(如果有DLL的話)。</P>
<OL>
  <OL>
    <OL>
      <P align=justify>
      <LI><A name=_Toc445889084></A><A name=_Toc445782487></A><A 
      name=_Toc452640948></A><A name=_Toc457299046></A><B>線程局部存儲</B> 
      <P></P></LI></OL></OL></OL>
<P align=justify>如果希望每個線程都可以有線程局部(Thread 
local)的靜態(tài)存儲數(shù)據(jù),可以使用TLS線程局部存儲技術(shù)。TLS為進程分配一個TLS索引,進程的每個線程通過這個索引存取自己的數(shù)據(jù)變量的拷貝。</P>
<P 
align=justify>TLS對DLL是非常有用的。當一個新的進程使用DLL時,在DLL入口函數(shù)DllMain中使用TlsAlloc分配TLS索引,TLS索引就作為進程私有的全局變量被保存;以后,當該進程的新的線程使用DLL時(Attahced 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91丝袜在线18| 久久久精品天堂| 日韩精品一区二区三区中文精品| 麻豆成人91精品二区三区| 国产精品久久综合| 亚洲男人的天堂网| 一区二区三区四区五区视频在线观看| 日本麻豆一区二区三区视频| 亚洲一区二区精品3399| 日韩高清在线一区| 丁香桃色午夜亚洲一区二区三区| 国产露脸91国语对白| 欧美精品vⅰdeose4hd| 日韩精品在线一区| 日本一区免费视频| 性做久久久久久免费观看| 国内精品在线播放| 色999日韩国产欧美一区二区| 日韩视频一区在线观看| 综合精品久久久| 精品综合久久久久久8888| 91视频在线观看| 精品入口麻豆88视频| 亚洲制服丝袜av| 国产91高潮流白浆在线麻豆| 欧美精品亚洲一区二区在线播放| 中文在线免费一区三区高中清不卡| 香蕉成人伊视频在线观看| 成人毛片视频在线观看| 欧美一区二区三区四区高清| 国产精品国产a级| 精品一区二区免费| 欧美日韩国产影片| 成人欧美一区二区三区| 国产又黄又大久久| 欧美视频日韩视频| **性色生活片久久毛片| 国产一区亚洲一区| 91.com在线观看| 亚洲欧美另类综合偷拍| 国产成人综合亚洲91猫咪| 日韩一区二区三免费高清| 一区二区三区在线观看视频| 国产福利精品一区二区| 欧美不卡视频一区| 日韩中文字幕麻豆| 亚洲色图第一区| 国产精品一区二区免费不卡| 欧美电影在线免费观看| 悠悠色在线精品| proumb性欧美在线观看| 久久久99精品免费观看| 久久国产精品99久久人人澡| 欧美三级视频在线| 一区二区三区日韩精品| 美日韩一级片在线观看| 91麻豆精品国产91久久久久久久久| 国产一区二区在线电影| 久久精品人人做人人综合| 极品销魂美女一区二区三区| 欧美一区二区三区视频免费| 日韩国产在线一| 日韩欧美一区二区免费| 精品一二三四在线| 国产欧美日韩卡一| 欧美亚洲国产bt| 亚洲免费资源在线播放| 国产成人自拍在线| 久久久久久99久久久精品网站| 久久国产剧场电影| 日韩三级.com| 麻豆精品视频在线| 日韩三级伦理片妻子的秘密按摩| 日本在线不卡视频| 日韩一级黄色片| 久久av老司机精品网站导航| 日韩亚洲欧美在线观看| 免费视频一区二区| 日韩免费性生活视频播放| 国产一区二区在线观看视频| 久99久精品视频免费观看| 欧美成人a∨高清免费观看| 久久国产精品露脸对白| 久久久久99精品一区| 福利一区二区在线| 国产精品福利在线播放| 91免费观看在线| 洋洋av久久久久久久一区| 欧美日韩国产一区| 美女mm1313爽爽久久久蜜臀| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧美精品免费视频| 老汉av免费一区二区三区| 精品国产伦一区二区三区免费| 国产在线视频一区二区三区| 日本一区二区不卡视频| 91麻豆免费观看| 亚洲成人在线网站| 精品国产sm最大网站免费看| 国产成人8x视频一区二区| **欧美大码日韩| 欧美精品视频www在线观看| 麻豆精品视频在线观看视频| 欧美国产日韩在线观看| 色婷婷亚洲精品| 日本成人在线一区| 国产亚洲成年网址在线观看| 色天天综合色天天久久| 天天色综合天天| 久久先锋影音av鲁色资源网| av一区二区久久| 日韩福利电影在线观看| 久久久久久久av麻豆果冻| 在线精品视频免费播放| 免费看欧美美女黄的网站| 久久影院午夜片一区| 色狠狠av一区二区三区| 精品一区二区三区视频| 1024亚洲合集| 欧美一区二区美女| 成人激情文学综合网| 日韩欧美在线123| 欧美一区二区成人6969| 国产精品午夜久久| 国模无码大尺度一区二区三区| 奇米影视在线99精品| 欧美aaaaa成人免费观看视频| 日本不卡一二三| 国产精品一区二区久久不卡 | 亚洲一区二区三区四区不卡| 午夜精品福利在线| 狠狠色丁香婷婷综合久久片| 日韩视频永久免费| 亚洲成在人线在线播放| 久久精品欧美日韩| 欧美日韩久久一区二区| 成人a级免费电影| 日韩av成人高清| 亚洲人成网站在线| 精品对白一区国产伦| 欧美这里有精品| 成人小视频在线| 久99久精品视频免费观看| 亚洲自拍偷拍欧美| 国产精品久线观看视频| 欧美精品一区二区三| 678五月天丁香亚洲综合网| 9l国产精品久久久久麻豆| 久久精品av麻豆的观看方式| 夜夜嗨av一区二区三区中文字幕 | 韩国三级中文字幕hd久久精品| 夜夜操天天操亚洲| 国产精品国产馆在线真实露脸| 2021中文字幕一区亚洲| 日韩午夜激情电影| 欧美日韩一区二区三区在线| av激情亚洲男人天堂| 国产乱人伦精品一区二区在线观看 | 国内精品伊人久久久久影院对白| 亚洲午夜久久久久中文字幕久| 中文在线资源观看网站视频免费不卡| 日韩三级电影网址| 欧美理论在线播放| 欧美性大战久久| 99久久777色| 成人免费视频app| 国产一区二区三区在线看麻豆| 日本成人在线视频网站| 午夜日韩在线观看| 亚洲一卡二卡三卡四卡| 亚洲免费视频中文字幕| 国产精品免费视频网站| 国产欧美日韩在线| 国产视频一区二区在线观看| 精品电影一区二区三区| 欧美不卡一二三| 欧美tickling挠脚心丨vk| 欧美一卡二卡在线观看| 91精品国产入口在线| 91精品国产一区二区三区香蕉| 91精品在线观看入口| 欧美日韩国产色站一区二区三区| 欧美日韩一区二区在线视频| 欧美视频中文字幕| 欧美三级日韩三级| 欧美性受xxxx| 欧美日韩国产系列| 久久看人人爽人人| 国产精品18久久久久久久网站| 久久久久久一二三区| 成人黄色a**站在线观看| 国产精品乱码一区二区三区软件 | 亚洲国产成人高清精品| 777亚洲妇女| 亚洲愉拍自拍另类高清精品| 久久你懂得1024| 欧美激情一区二区三区在线| 国产精品日韩成人| 1000精品久久久久久久久| 自拍偷自拍亚洲精品播放|