Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 3.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <windows.h>
- #include <stdio.h>
- using namespace std;
- int global = 12345; // глобальная переменная 1
- int fun(int &b)
- {
- cout<<"-----------------------------"<<endl;
- cout<<"Добавлю 1000 "<<endl;
- b += 1000;
- cout<<"Покажу что произошло "<<global<<endl;
- cout<<"-----------------------------"<<endl;
- return 0;
- }
- DWORD WINAPI MyThread( LPVOID lpParam )
- {
- cout<<"Стартует поток номер два "<<endl;
- fun(::global);
- cout<<"Завершаю второй поток "<<endl;
- cout<<endl;
- return 0;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- setlocale(LC_ALL,"Russian");
- cout<<"Глобальная переменная равна = "<<::global<<endl;
- DWORD ThreadId;
- HANDLE hThread;
- hThread = CreateThread(
- NULL, // атрибуты безопасности по умолчанию
- 0, // размер стека по умолчанию
- MyThread , // указатель на процедуру создаваемого потока
- NULL, // аргумент, передаваемый функции потока
- 0, // флаги создания по умолчанию
- &ThreadId); // возвращаемый идентификатор потока
- if (hThread == NULL) cout<<("Не удалось создать поток" );
- ///////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////
- SetThreadPriority(hThread, THREAD_PRIORITY_ABOVE_NORMAL);
- SuspendThread(hThread);
- ResumeThread(hThread);
- cout<<"Начало первого потока "<<::global<<endl;
- int a = fun(::global);
- cout<<"Заканчивается работа первого потока "<<endl;
- getchar();
- CloseHandle( hThread );
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement