СПО_Praktikum_k_lab_rabotam
.pdf61
{
cout << "cg >! " << endl; return 0; // x # g # •
}
} // o >! #.
// {! > # g # ? # ! •. WaitForMultipleObjects(g_MaxThreads, hThreadArray, TRUE,
INFINITE);
// x =# # # …! . for(int i=0; i<g_MaxThreads; i++)
{
CloseHandle(hThreadArray[i]); if(pDataArray[i] != NULL)
delete pDataArray[i];
}
system("pause"); return 0;
}
/////////////////////////////////////////////////////////////////
// #
DWORD WINAPI MyThreadFunction( LPVOID lpParam )
{
MyData *pDataArray; char msgBuf[g_BufSize];
//> > void ! =? pDataArray = (MyData*)lpParam;
//x! ! ! = #= pDataArray->rezult = 0.0;
for(int i=0; i<pDataArray->val1; i++) for(int j=0; j<pDataArray->val2; j++)
pDataArray->rezult += sin(0.00045645654);
//> #=
sprintf_s(msgBuf, g_BufSize, "| = %d, V1 = %d, " "V2 = %d, Rez = %lf\n", pDataArray->numb, pDataArray->val1, pDataArray->val2, pDataArray->rezult);
cout << msgBuf;
//cout << "Parameters = " << pDataArray->val1 << " " << //pDataArray->val2 << endl;
return 0;
}
M& 8 ) CreateThread / # 2 ! ! !
& !1! 9 ! &< 7& 8 <, !D ! G 7& 8 )
62
MyThreadFunction. .!) 7& 8 ) ")1! ! 9 /&<? 6
:
DWORD WINAPI ThreadProc(LPVOID lpParam);
ThreadProc ) ) ) -1! / ) / )-
! 6 7& 8. & ! G ) B "0 9 <"0, !B!<? 0 D! 6 1!/!#. M& 8 ) - ! / ! ! ("i) 06 ! LPVOID). . 1! &
!, ?9< G ! ! ! &< 7& 8 < B
/! 9 ˆ # & /, !D ! G & !1! 9 ! & & &
MyData. M& 8 ) CreateThread 1 !?! /
!. K & !1! 9 B 91 ! 9 !1 # 02 8 )2, ! / ) ! !.
! B 02 8 ! 7& 8 MyThreadFunction &B!
9 / ) 1! / ) !- " 0 7& 8 - -
&< 8 / ! #-/ 9 02 0#- 6.
|
. 1! & - |
|
. 6.3. , % |
! 0 Thread1, 0 &- |
|
/ , / ! |
||
Thread1 |
||
! . 6.3. A" ! - |
||
|
! ! / ! 9 9 " !" 8 - 9< !.
, 9 B 0 9 G ! / ! !D
B ). ) G 1! & - 4 ., ;2F2,. 0 ! /& < -F | =< 2.5 . <3=… =<. <3 . 2 -3= 4 3 & ! <#! 9 , .,- 4 . . @! & B Thread1 B, 1/! ! ! !2 /! 6 !" ! 6 !" 0. .9 & 6
7& 8 0 /-1! / 9 / / &2 B 02 8-
, !1& 1! D ) 1 ! / 9 / ! & !" 0 1/! 02 ! 8. F! . 6.4 !1! - B ) - 4 ., ;2F2, & ) ) 1! & ! !D-
B ) Thread1.
63
. 6.4. , P , Windows -
R# , .,- 4 .
! 0 1!, ) ! , # & ! ) / ! #
, !) 7& 8 ) / !. . G
010 !< / & & B 7& 8 <: MyThreadFunction.
6.5.2 -2 .= ;2F2 -0
!# / /&! 9 02 1!/! 6, 1!/! ) 1 !"- ! 6 !" 0 •5.
. 0 / ) & 1! / ) !" 0 - 6 7& 8.
6.6.% F =4 - 2< .=
1.1/!6 D /2 /)? / "! 9 06
&B <? ) D.
2.! !2 1/! D ), / /&! 9- 0 1!/!, 1/!6 B. 0-
64
/ !, !/ & ! G B- ).
6.7. F I2- ., .2
1.M & ! / /&! 9 1!/! ).
2.! !) # !) #! 9.
3.5 7!6 cpp h.
4.N 1& 9 ! 0 ! ) ! 0, / G ! 6 .
6.8. . 5 = 4 =
1.! 6 8 9< 1/!< ) ?
2.! !) 7& 8 ) &B / ) 1/! ) !?
3.! " !1 /!< ) /! 0 &< 7& 8 <?
4.N! !B !1 !# 7& 8 WaitForSingleObject.
5.N! !B !1 !# 7& 8 CloseHandle.
6.! " !1, !8 !) ! ! / ) ) !- " 0 8 ! B/& 1! &? 0 !?
7.# !1 8! B/& 8 ! !?
8.N! !B !1 !# 7& 8 WaitForMultipleObjects.
65
* * &J &-
K
1. .!2, (. C/C++ MS Visual C++ 2008 / ) !# !<? 2 / (.
.!2 – .".: (C-. "& , 2010. – 624 .
2. .!&G, 5. Microsoft Visual Studio 2010 / 5. .!&G, E. . –
.".: (C-. "& , 2009. – 1191 .
3.‚ /, *. .06 ! # ++ / *.‚ /. - .".: 9-
), 2011. – 800 .
4.(!B !, +.‘. Visual C++ 6.0 / +.‘. (!B !. - E.: ! -
E+M+, 2009. – 416 .
5.! ! Windows XP [K 06 &]. - N B /c& !: http://windata.ru/category/windows-xp/ustanovka-xp/
6.! ! Windows XP [K 06 &]. - N B /c& !: http://pc-win.narod.ru/ystanovkawinxp.html
7..*.A 7, F. .A 7 0 !8 0 0
[K 06 &]. - N B /c& !: http://vv303.narod.ru/files/inst/olifer/default.htm
8.Œ ! /? [K 06 &]. – N B / & !: http://otvety.google.ru/otvety/
9.