哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>Linux和Windows系統(tǒng)線程間的區(qū)別

Linux和Windows系統(tǒng)線程間的區(qū)別

2017-11-03 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

熟悉WIN32編程的人一定知道,WIN32的進程管理方式與Linux上有著很大區(qū)別,在Unix里,只有進程的概念,但在WIN32里卻還有一個“線程”的概念,那么Linux和WIN32在這里究竟有著什么區(qū)別呢?
  WIN32里的進程/線程是繼承自O(shè)S/2的。在WIN32里,“進程”是指一個程序,而“線程”是一個“進程”里的一個執(zhí)行“線索”。從核心上講, WIN32的多進程與Linux并無多大的區(qū)別,在WIN32里的線程才相當于Linux的進程,是一個實際正在執(zhí)行的代碼。但是,WIN32里同一個進程里各個線程之間是共享數(shù)據(jù)段的。這才是與Linux的進程最大的不同。
  下面這段程序顯示了WIN32下一個進程如何啟動一個線程。
  int g;
  DWORD WINAPI ChildProcess( LPVOID lpParameter ){
  int i;
  for ( i = 1; i 《1000; i ++) {
  g ++;
  printf( “This is Child Thread: %dn”, g );
  }
  ExitThread( 0 );
  };
  void main()
  {
  int threadID;
  int i;
  g = 0;
  CreateThread( NULL, 0, ChildProcess, NULL, 0, &threadID );
  for ( i = 1; i 《1000; i ++) {
  g ++;
  printf( “This is Parent Thread: %dn”, g );
  }
  }
  在WIN32下,使用CreateThread函數(shù)創(chuàng)建線程,與Linux下創(chuàng)建進程不同,WIN32線程不是從創(chuàng)建處開始運行的,而是由 CreateThread指定一個函數(shù),線程就從那個函數(shù)處開始運行。此程序同前面的UNIX程序一樣,由兩個線程各打印1000條信息。 threadID是子線程的線程號,另外,全局變量g是子線程與父線程共享的,這就是與Linux最大的不同之處。大家可以看出,WIN32的進程/線程要比Linux復(fù)雜,在Linux要實現(xiàn)類似WIN32的線程并不難,只要fork以后,讓子進程調(diào)用ThreadProc函數(shù),并且為全局變量開設(shè)共享數(shù)據(jù)區(qū)就行了,但在WIN32下就無法實現(xiàn)類似fork的功能了。所以現(xiàn)在WIN32下的C語言編譯器所提供的庫函數(shù)雖然已經(jīng)能兼容大多數(shù)Linux/UNIX的庫函數(shù),但卻仍無法實現(xiàn)fork。
  對于多任務(wù)系統(tǒng),共享數(shù)據(jù)區(qū)是必要的,但也是一個容易引起混亂的問題,在WIN32下,一個程序員很容易忘記線程之間的數(shù)據(jù)是共享的這一情況,一個線程修改過一個變量后,另一個線程卻又修改了它,結(jié)果引起程序出問題。但在Linux下,由于變量本來并不共享,而由程序員來顯式地指定要共享的數(shù)據(jù),使程序變得更清晰與安全。
  至于WIN32的“進程”概念,其含義則是“應(yīng)用程序”,也就是相當于UNIX下的exec了。
?
Linux WINDOWS 系統(tǒng)線程
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1冷柜-電氣控制系統(tǒng)講解
  2. 13.68 MB  |  4次下載  |  10 積分
  3. 2安川A1000變頻器中文版說明書
  4. 20.16 MB  |  3次下載  |  3 積分
  5. 3直流電路的組成和基本定律
  6. 1.67 MB   |  2次下載  |  免費
  7. 4丹佛斯2800系列變頻器說明書
  8. 8.00 MB  |  1次下載  |  5 積分
  9. 5PC8011同步開關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊
  10. 0.74 MB   |  1次下載  |  免費
  11. 6ES7243E+ES8311音頻錄制與播放電路資料
  12. 0.06 MB   |  1次下載  |  5 積分
  13. 7SDM02 激光測距模塊產(chǎn)品手冊
  14. 0.43 MB   |  1次下載  |  免費
  15. 8SDFM 激光測距模塊模組手冊
  16. 0.54 MB   |  1次下載  |  免費

本月

  1. 1CH341編程器軟件NeoProgrammer_2.2.0.10
  2. 20.47 MB   |  170次下載  |  1 積分
  3. 22025智能家居傳感器市場分析及創(chuàng)新應(yīng)用
  4. 3.11 MB  |  43次下載  |  免費
  5. 3RV1126B系列開發(fā)板產(chǎn)品資料
  6. 4.19 MB  |  18次下載  |  免費
  7. 4CH341編程軟件下載
  8. 2.50 MB   |  16次下載  |  5 積分
  9. 5全志系列-米爾基于T153核心板開發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場景
  10. 3.05 MB  |  12次下載  |  免費
  11. 6【開源】60余套STM32單片機、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項目案例及入門學(xué)習(xí)資源包
  12. 10.55 MB  |  8次下載  |  免費
  13. 7冷柜-電氣控制系統(tǒng)講解
  14. 13.68 MB  |  4次下載  |  10 積分
  15. 8特斯拉MODEL S車載充電機主電路回路原理圖
  16. 0.81 MB   |  4次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233094次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183356次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81604次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73824次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分
洛川县| 东乌珠穆沁旗| 宁德市| 阿坝县| 夏津县| 新沂市| 元氏县| 综艺| 镇雄县| 平阴县| 军事| 高要市| 金寨县| 沈阳市| 西和县| 泰顺县| 永寿县| 海盐县| 平武县| 游戏| 龙泉市| 江北区| 克拉玛依市| 清新县| 宁晋县| 广昌县| 南宁市| 区。| 屏南县| 扶沟县| 昌宁县| 灵台县| 武清区| 锡林郭勒盟| 利川市| 百色市| 加查县| 乐亭县| 满城县| 安新县| 巴马|