|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.06.2010, 12:12 | #1 |
Пользователь
Регистрация: 18.06.2010
Сообщений: 14
|
установка приоритетов для потоков
1. Создать в системе все три потока.
2. Установить потоку MainThread приоритет «критический» для более устойчивой работы. Внимание! Будьте осторожны, когда выставляете потоку высокий приоритет – это может привести к существенному замедлению работы вашего компьютера вплоть до его зависания. Для предотвращения зависания рекомендуется в критический поток вставлять функции задержки (например, Sleep) 3. Запустить программу несколько раз, каждый раз выставляя определённый приоритет для потока Thread1 и Thread2. 4. Сделать выводы о влиянии приоритета потока на его работу. мой код Код:
Последний раз редактировалось Stilet; 22.06.2010 в 12:26. |
22.06.2010, 12:19 | #2 |
Пользователь
Регистрация: 18.06.2010
Сообщений: 14
|
еще один вариант есть
#include<stdio.h> #include<conio.h> #include<process.h> #include<windows.h> #include <cstdlib> #include <iostream> using namespace std; int a[5]; int num; int Val1 = 0, Val2 = 0; DWORD WINAPI Thread1 (LPVOID p) { while (true) { Val1++; } return 0; } DWORD WINAPI Thread2 (LPVOID p) { while (true) { Val2++; } return 0; } DWORD WINAPI MainThread (LPVOID p) { while (true) { Sleep(100); printf("%d\t%d\n",Val1,Val2); } return 0; } int main() { HANDLE mainThread, thread1, thread2; DWORD mainId, id1, id2; mainThread = CreateThread(0, 0, &MainThread, 0, 0, &mainId); if(!SetThreadPriority(mainThread, THREAD_PRIORITY_TIME_CRITICAL)) { cout << "Setting critical priority failed\n"; return 0; } thread1 = CreateThread(0, 0, &Thread1, 0, 0, &id1); thread2 = CreateThread(0, 0, &Thread2, 0, 0, &id2); //тут ставите условие завершения //завершить поток можете функцией CloseHandle(mainThread); // для остальных потоков аналогично return 0; } [/CODE] этот вроде ближе к правде. какую-то системную ошибку выдает поправьте пожалуйста Последний раз редактировалось session; 22.06.2010 в 12:38. |
22.06.2010, 12:39 | #3 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
deleted....
Последний раз редактировалось NiCola999; 22.06.2010 в 12:58. |
22.06.2010, 12:45 | #4 |
Пользователь
Регистрация: 18.06.2010
Сообщений: 14
|
сейчас поправлю, отпишу что получилось
|
22.06.2010, 12:57 | #5 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
чушь я написал, вот немного поправил код, всё работает)) реально не знал что оно так
Код:
кстати поток не завершается той функцией, только что попробовал Последний раз редактировалось NiCola999; 22.06.2010 в 13:04. |
22.06.2010, 13:07 | #6 |
Пользователь
Регистрация: 18.06.2010
Сообщений: 14
|
NiCola999, да нет. наверно с потоками все в порядке. они даны в условии
|
22.06.2010, 13:19 | #7 |
Пользователь
Регистрация: 18.06.2010
Сообщений: 14
|
спасибо вам!!! все работает!!!!круто!!!Я просто в восторге!!!!поясните как отблагодарить вас
|
22.06.2010, 20:29 | #8 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
на весы нажать под ником, но мне это репутации недаст, так как у вас репутация меньше чем у меня. Денег можете прислать немного на кошелек снизу =))
|
23.06.2010, 10:17 | #9 |
Пользователь
Регистрация: 18.06.2010
Сообщений: 14
|
спасибо, что хоть немноголадноя попробую.
вы правда молодеця на пятерку сегодня!!! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
установка приоритетов для потоков | session | Общие вопросы C/C++ | 2 | 21.06.2010 18:11 |
Ошибка в расстановке приоритетов (Bass.dll) | Krendel' | Мультимедиа в Delphi | 4 | 23.04.2010 17:29 |
Не могу найти компоненты для архивации потоков TStream | kir86975 | Общие вопросы Delphi | 5 | 31.03.2010 08:44 |
Глобальны переменные для потоков | PM85 | Общие вопросы C/C++ | 3 | 15.04.2008 18:12 |
Дескрипторы потоков - Для каждого элемента списка необходимо создать поток, выполняющий требуемые функции | kdv0403 | Общие вопросы Delphi | 2 | 09.06.2007 11:12 |