সংক্ষিপ্ত বিবরণ
Windows-এ থ্রেড তৈরি ও পরিচালনার জন্য Win32 API ব্যবহৃত হয়। Pthreads-এর মতোই কিন্তু প্ল্যাটফর্ম-নির্দিষ্ট।
মূল ফাংশনগুলো
CreateThread()— থ্রেড সৃষ্টি (সিকিউরিটি, স্ট্যাক সাইজ, ফ্ল্যাগ)WaitForSingleObject()— একক থ্রেড শেষ হওয়া পর্যন্ত ব্লকWaitForMultipleObjects()— একাধিক থ্রেডের জন্য অপেক্ষাCloseHandle()— থ্রেড হ্যান্ডেল বন্ধ করুন
উদাহরণ: সাম্মেশন গণনা
#include <windows.h>
#include <stdio.h>
DWORD Sum = 0;
DWORD WINAPI Summation(LPVOID Param) {
DWORD upper = *(DWORD*)Param;
for (DWORD i = 0; i <= upper; i++) Sum += i;
return 0;
}
int main(int argc, char* argv[]) {
DWORD ThreadId; HANDLE ThreadHandle;
int Param = atoi(argv[1]);
ThreadHandle = CreateThread(NULL, 0, Summation, &Param, 0, &ThreadId);
if (ThreadHandle) {
WaitForSingleObject(ThreadHandle, INFINITE);
CloseHandle(ThreadHandle);
printf("Sum = %d\n", Sum);
}
return 0;
}
কম্পাইল ও রান
cl program.c (MSVC) program.exe 10 → Sum = 55