1-misol. WinAPI funksiyalaridan foydalangan holda oddiy koʻp tarmoqli dastur
#include
#include
#include
// Global konstantaning tavsifi va ishga tushirilishi,
//barcha oqimlar va funksiyalar unga kirish huquqiga ega
const int n = 2;
// oqim funksiyasi kodi
DWORD WINAPI ThreadFunc(PVOID pvParam)
{
// DWORD WINAPI - oqim tomonidan qaytarilgan qiymat turi
// ThreadFunc - oqim funksiyasining nomi (ixtiyoriy boʻlishi mumkin)
// PVOID - ixtiyoriy turdagi oʻzgaruvchiga koʻrsatgich
// pvParam - ma’lumotlarni oqimga oʻtkazish uchun ishlatiladi
// Oqimga uzatilgan ma’lumotlarni (uning raqamini) num oqim oʻzgaruvchisiga qoʻyish
num = *((int *)pvParam);
for (int i=0; i<100000; i++)
fprintf(stdout, "Выполняется поток %d - %d\n",num,i);
// Oqim qaytaradigan qiymatni oʻz ichiga olgan
//oʻzgaruvchini e’lon qilish va initsializatsiyalash
DWORD dwRes = num;
return dwRes; // boshqaruvni asosiy oqimga qaytarish
}
// Asosiy oqim kodi
int main(int argc, char** argv){ int x[n];
// Oʻzgaruvchini e’lon qiling, unda oqim yaratish funksiyasi yangi oqimning identifikatorini qaytaradi
DWORD dwThreadId[n];
// Oʻzgaruvchini e’lon qilish, unda iplarning tugashini kutish funktsiyasi kutishning tugallanishi kodini qaytaradi.
DWORD dw
// Oqim bajarilishi natijasi oʻqiladigan oʻzgaruvchining deklaratsiyasi
DWORD dwResult_main[n];
// Yadro ob’ektlari (mavzular) deskriptorlari qatorini e’lon qilish
Do'stlaringiz bilan baham: |