win32多執行緒程式設計

2021-06-04 20:04:10 字數 942 閱讀 6322

使用3個執行緒完成6個任務,工作的執行是靠呼叫sleep()來模擬,時間長度是隨機給予的,只要乙個執行緒結束,就會有另乙個執行緒被產生。

// taskques.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include #include #include #define win32_lean_and_mean

dword winapi threadproc(lpvoid);

#define thread_pool_size 3

#define max_thread_index thread_pool_size-1

#define num_tasks 6

int _tmain(int argc, _tchar* argv)

hthreads[slot] =createthread(null,0,threadproc,(lpvoid)slot,0,&threadid);

printf("lanched thread #%d(slot %d)\n",i,slot);

if(++slot > max_thread_index)

slot = 0;

} for(slot = 0; slot < thread_pool_size; slot++)

printf("all slots terminated \n");

system("pause");

return exit_success;

}//執行緒過程函式

dword winapi threadproc(lpvoid n)

這個程式有嚴重的問題:它的效率非常低,因為它假設執行緒結束的次序會和它產生的次序相同。但是執行的結果確不是相同的。

因此我們需要某種方法,可以監視目前生存的任何執行緒的結束。《摘自:win32多執行緒程式設計》~~~~~~

Win32 多執行緒程式設計

程序和執行緒都是作業系統的概念 程序是應用程式的執行例項 每個程序是由私有的虛擬位址空間 資料和其它各種系統資源組成 程序在執行過程中建立的資源隨著程序的終止而被銷毀 所使用的系統資源在程序終止時被釋放或關閉 執行緒是程序內部的乙個執行單元 系統建立好程序後 實際上就啟動執行了該程序的主執行執行緒 ...

Win32多執行緒程式設計 一

1.程序 從win32的角度來看,程序就是一大堆物件的擁有權的集合,程序擁有的物件包括記憶體和資源兩類 程序擁有的記憶體 被程序擁有的記憶體可以分為以下三個型別 1 code code是程式的可執行部分,一定是唯讀性質 2 data data是程式中的所有變數 不包括函式中的區域性變數 可以分為全域...

Win32多執行緒程式設計 序

程式是乏味的代言人,程式世界是如此的單調,上帝說,讓世界變的精彩,從此有了多執行緒程式設計 從第一台計算機出現開始,順序程式設計就開始深入人心,將任務劃分為乙個流程,交給計算機去做,一切都那麼理所當然,程式世界就像乙個黑白的世界,井然有序卻又單調乏味,多執行緒多工程式設計理念的提出,讓程式世界開始變...