![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Проблема вот в чем : в функциях win32api CreateThread и _beginthreadex как параметр функции-потока передается указатель на void. Для bcw 5.5 подойдет любой параметр,а вот gcc выдает ошибку о неправильном использовании void-параметра. Как обойти?переносить код на borland c++ 5.5 времени нет, да и исправлять всё там муторно.. в VS08 этот проект так же не переноситься..как быть?
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Время исполнения не изменяется в лучшую сторону, а иногда даже ухудщается.. Во-первых, как ты замерял время?Во-вторых, кто тебе сказал, что при при изменении приоритета потока это изменение вообще влияет на скорость выполнения данного потока? Ну, допустим, у тебя поток теперь имеет THREAD_PRIORITY_HIGHEST. А сам процесс твой с каким приоритетом работает? Дальше: ты работаешь с диском, а это уже медленно, имеет ли смысл повышать приоритет, чтоб работать с медленными устройствами? Кроме всего прочего, Windows сама прекрасно может динамически менять приоритет твоего потока (что может отрицательно сказаться на быстродействии приложения, были жалобы, об этом есть у Рихтера), именно по этой причине есть функции SetProcessPriorityBoost / SetThreadPriorityBoost Ну, и напоследок... Если уж ты действительно хочешь попробовать изменить приоритет потока, то создавай поток "спящим", потом меняй приоритет, и потом "буди" поток, так будет лучше. |
![]() ![]() |
![]() |
Текстовая версия | 16.08.2025 5:29 |