Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
2017-06-19 | 378 |
5.00
из
|
Заказать работу |
|
|
В качестве потока запускается подпрограмма MyThread.
Практическая часть
//Практическое занятие № 24
//Группа xxxxxx Терминал N ФИО
#include "stdafx.h"
#include "windows.h" // win32 API
#include <locale.h> // подключение Русского языка
#include <iostream> // инструкции c++ std,cout,cin …
using namespace std; // пространство стандартных имен */
DWORD WINAPI MyThread(LPVOID lpParam) { //Поток MyThread
cout << "Parameter = " << *(DWORD*)lpParam << endl;
return 0;
}
VOID main() {
DWORD ThreadId, ThreadParameter = 10;
HANDLE hThread;
hThread = CreateThread(//Создание потока MyThread
NULL, // атрибуты безопасности по умолчанию
Размер стека по умолчанию
MyThread, // указатель на процедуру создаваемого потока
&ThreadParameter, // аргумент, передаваемый функции потока
Флаги создания по умолчанию
&ThreadId); // возвращаемый идентификатор потока
if (hThread == NULL) cout << "CreateThread failed." << endl;
getchar();
cout << "ThreadId="<<ThreadId<< endl;
CloseHandle(hThread);
}
/* При выполнении данной практической работы я освоил
*/
Практическое занятие №25
1. Краткие теоретические сведения:
Программа запускает два потока. Первый поток First Thread запускается главной программой main, второй поток SecondThread запускается системной функцией CreateThread. Оба потока выполняют подпрограмму длинного счета Calculations(). У потока SecondThread меняется приоритет с помощью системной функции SetThreadPriority и констант THREAD_PRIORITY_ABOVE_NORMAL (увеличить приоритет на единицу) или THREAD_PRIORITY_LOWEST (понизить приоритет на 2 единицы). В зависимости от приоритета поток SecondThread должен заканчиваться раньше или позже чем First Thread. В программе также использованы системные функции SuspendThread и ResumeThread для останова и запуска процесса SecondThread.
Практическая часть
//Практическое занятие № 25
//Группа xxxxxx Терминал N ФИО
|
#include "stdafx.h"
#include "windows.h" // win32 API
#include <locale.h> // подключение Русского языка
#include <iostream> // инструкции c++ std,cout,cin …
using namespace std; // пространство стандартных имен */
//Подпрограмма длинного счета
void Calculations() {
int i,N=50000000;
double a,b;
for (i = 0; i<N; i++) {
b=(double)i / (double)N;
a=sin(b); }
}
//Поток SecondThread
DWORD WINAPI SecondThread(LPVOID lpParam) {
cout<<endl<<"Begin of Second Thread"<<endl;
Calculations();//Длинный расчет
cout<<"End of Second Thread"<<endl;
return 0;
}
VOID main() {
DWORD dwThreadId, dwThrdParam=0;
HANDLE hThread;
hThread = CreateThread(//Создание потока SecondThread
NULL,
0,
SecondThrea d,
&dwThrdParam,
0,
&dwThreadId);
if (hThread == NULL)
{
cout<<"CreateThread failed" <<endl;
return;
}
//Повышение или понижение приоритета потока
SetThreadPriority(hThread, THREAD_PRIORITY_ABOVE_NORMAL);
//SetThreadPriority(hThread, THREAD_PRIORITY_LOWEST);
SuspendThread(hThread); //Останов потока
cout<<"Get some symbol"<<endl;
getchar();
ResumeThread(hThread); //Запуск потока
cout<<"Begin of First Thread "<<endl;
Calculations(); //длинный расчет
cout<<"End of First Thread"<<endl;
getchar();
}
/* При выполнении данной практической работы я освоил
*/
Лекция 11. Межпроцессный обмен
К основным способам межпроцессного обмена традиционно относят каналы и разделяемую память.
Введение
Из курса ОС известно, что для выполнения таких задач, как совместное использование данных, построение интегрированных многофункциональных приложений и т.д., различным процессам (а также различным потокам) необходимо взаимодействовать между собой. Поскольку процессы изначально задумывались как обособленные сущности, для обеспечения корректного взаимодействия процессов требуются специальные средства и действия операционной системы.
В основе межпроцессного (Inter Process Communications, IPC) обмена обычно находится разделяемый ресурс (например, канал или сегмент разделяемой памяти). Обычно такой ресурс может быть доступен всем процессам, которые знают его имя и имеют необходимые привилегии.
Кроме того, организация связи между процессами всегда предполагает установления таких ее характеристик, как:
|
· направление связи. Связь бывает однонаправленная (симплексная) и двунаправленная (полудуплексная для поочередной передачи информации и дуплексная с возможностью одновременной передачи данных в разных направлениях);
· тип адресации. В случае прямой адресации информация посылается непосредственно получателю, например, процессу P-Send (P, message). В случае непрямой или косвенной адресации информация помещается в некоторый промежуточный объект, например, в почтовый ящик;
· используемая модель передачи данных - потоковая или модель сообщений (см. ниже);
· объем передаваемой информации;
· синхронность обмена данными. Если отправитель сообщения блокируется до получения этого сообщения адресатом, то обмен считается синхронным, в противном случае - асинхронным.
Кроме перечисленных у каждой связи есть еще ряд особенностей.
|
|
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!