Guest User

Untitled

a guest
Nov 5th, 2011
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. // project4.cpp : main project file.
  2.  
  3. #include "stdafx.h"
  4.  
  5. using namespace System;
  6. using namespace System::Threading;
  7.  
  8. ref class PrintTasks
  9. {
  10.  
  11. public: static bool runFlag = true;
  12.  
  13. public:
  14. void PrintA(Object^ name) {
  15. while (runFlag) {
  16. Console::Write("{0}\n", "A");
  17. }
  18. }
  19.  
  20. void PrintB(Object^ name) {
  21. while (runFlag) {
  22. Console::Write("{0}\n", "B");
  23. }
  24. }
  25.  
  26. void PrintC(Object^ name) {
  27. while (runFlag) {
  28. Console::Write("{0}\n", "C");
  29. }
  30. }
  31. };
  32.  
  33. int main(array<System::String ^> ^args)
  34. {
  35.  
  36. PrintTasks ^tasks = gcnew PrintTasks();
  37.  
  38. // First Method
  39. Thread ^thread1 = gcnew Thread ( gcnew ParameterizedThreadStart( tasks, &PrintTasks::PrintA ) );
  40. Thread ^thread2 = gcnew Thread ( gcnew ParameterizedThreadStart( tasks, &PrintTasks::PrintB ) );
  41. Thread ^thread3 = gcnew Thread ( gcnew ParameterizedThreadStart( tasks, &PrintTasks::PrintC ) );
  42.  
  43. thread1->Start("printA");
  44. thread2->Start("printB");
  45. thread3->Start("printC");
  46.  
  47. Thread::Sleep(50);
  48.  
  49. PrintTasks::runFlag=false;
  50.  
  51. thread3->Abort();
  52. thread2->Abort();
  53. thread1->Abort();
  54.  
  55. return 0;
  56. }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment