|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
19.06.2010, 11:30 | #1 |
Пользователь
Регистрация: 18.06.2010
Сообщений: 14
|
установка приоритетов для потоков
1. Создать в системе все три потока.
2. Установить потоку MainThread приоритет «критический» для более устойчивой работы. начало есть. прописаны функции потоков. осталось только установить приоритет и функция main пустая. Код:
функции потоков создавать с помощью функции API: HANDLE CreateThread (LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId); lpThreadAttributes – атрибуты защиты(для большинства целей хватает значения 0); dwStackSize – размер стека для нового потока(как и в предыдущем случае хватает 0); lpStartAddress – адрес функции которая станет новым потоком. Остальные 3 параметра пока оставим в покое и передаём им 0: DWORD tId; CreateThread(0, 0, fnct_name, 0, 0, &tId); Здесь tId – целочисленная переменная, в которую функция записывает идентификационный номер потока. В качестве параметра lpStartAddress уже необходимо передавать немного отличающуюся от предыдущей работы функцию: DWORD WINAPI fnct_name (LPVOID p) { // Код функции потока return 0; } Каждому потоку можно установить свой собственный приоритет. В зависимости от приоритета операционная система выделяет потоку процессорное время. Ниже приведены различные приоритеты, которые могут быть установлены для потока (приоритеты расставлены в порядке возрастания важности): THREAD_PRIORITY_IDLE – фоновый THREAD_PRIORITY_LOWEST – низкий THREAD_PRIORITY_BELOW_NORMAL – ниже среднего THREAD_PRIORITY_NORMAL – средний THREAD_PRIORITY_ABOVE_NORMAL – выше среднего THREAD_PRIORITY_HIGHEST – высокий THREAD_PRIORITY_TIME_CRITICAL – критический (реального времени) Для установки потоку нужного приоритета используется функция: BOOL SetThreadPriority(HANDLE hThread, int nPriority); Здесь hThread – контекст потока, возвращаемый функцией. надеюсь, это поможет Последний раз редактировалось Carbon; 20.06.2010 в 10:01. |
21.06.2010, 17:17 | #2 |
Пользователь
Регистрация: 18.06.2010
Сообщений: 14
|
ребятки, я не так часто обращаюсь за помощью...всегда пишу сама. ну помогите с этой задачей. кто знает как она решается
|
21.06.2010, 18:11 | #3 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
Ну так у вас есть все сведения для написания кода.
Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка в расстановке приоритетов (Bass.dll) | Krendel' | Мультимедиа в Delphi | 4 | 23.04.2010 17:29 |
Не могу найти компоненты для архивации потоков TStream | kir86975 | Общие вопросы Delphi | 5 | 31.03.2010 08:44 |
Установка TCC для винды | bl-777 | Общие вопросы C/C++ | 2 | 28.11.2009 22:46 |
Глобальны переменные для потоков | PM85 | Общие вопросы C/C++ | 3 | 15.04.2008 18:12 |
Дескрипторы потоков - Для каждого элемента списка необходимо создать поток, выполняющий требуемые функции | kdv0403 | Общие вопросы Delphi | 2 | 09.06.2007 11:12 |