![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
RazrFalcon |
![]()
Сообщение
#1
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
Есть простой пример из хелпа
.срр
.h
.pro
а вот вывод такой: ... 406010 406011 406012 406013 406014 406015 ... а по идее должен быть типа ... 406010 406010 406011 406011 406012 406012 ... PS: как присвоить приоритет Так не хочет (из хелпа) вот так ![]() После применения приоритетов 713245 726544 713246 726545 713247 726546 выходит один спешит? не пойму совсем "к слову скрин загрузки" ![]() PSS: можно ли выбрать ядро для выполнения функции? Сообщение отредактировал RazrFalcon - 4.10.2010, 15:01 |
|
|
![]() |
RazrFalcon |
![]()
Сообщение
#2
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
Еще парочку моментов.
1) Когда я создаю 2-а потока, то на самом деле их 3-и. 2) Я не выбираю ядра, то есть сама система выбирает. Она может их (потоки) поменять местами во время работы? 3) Когда прога работает основным потоком, а потом я создаю 2-й поток, то он помещается на свободное ядро (1-е, 2-е, 3-е и тд). 4) Как я понял с гуем и файлами лучше работать в один поток. Сообщение отредактировал RazrFalcon - 5.10.2010, 18:22 |
|
|
Sokoloff |
![]()
Сообщение
#3
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
Еще парочку моментов. 1) Когда я создаю 2-а потока, то на самом деле их 3-и. 2) Я не выбираю ядра, то есть сама система выбирает. Она может их (потоки) поменять местами во время работы? 3) Когда прога работает основным потоком, а потом я создаю 2-й поток, то он помещается на свободное ядро (1-е, 2-е, 3-е и тд). 4) Как я понял с гуем и файлами лучше работать в один поток. 1) Да ты создаешь не 2-а потока а 2-а дополнительных потока. Ведь main тоже должен выполняться в потоке, поэтому у любой программы сразу есть один поток, это "основной поток". В нем отрисовываются/обновляются контролы. Замечал наверное, иногда окна программ становятся белыми, и программы не отвечают на нажатия кнопок и мыши, это когда основной поток чем то сильно занят и не успевает обработать GUI. 2) Ядра ты не выбираешь, система сама лучше знает как разместить задачи. Ведь в системе кроме твоей программы еще куча всего крутиться, и другие программы то-же хотят поработать, так что это задача системы оптимально раскидать задачи по ядрам. 3) Скорее всего да. Хотя на 100% гарантировать нельзя, смотри п.2 про чужие программы. 4) С гуем лучше работать не просто в один поток а в основном потоке. А что значит с файлами? Простая ситуация если одновременно надо обрабатывать несколько файлов - можно каждый файл обрабатывать в отдельном потоке. Но надо помнить о синхронизации между потоками. Гораздо более сложная ситуация если надо обрабатывать один большой файл, если работу можно разбить на одновременные подзадачи, то можно обрабатывать части файла в несколько потоков. Но это гораздо сложнее с точки зрения синхронизации. В общем делать потоки, или нет, и сколько зависит от задачи. P.S. Какие у тебя разнообразные интересы и GUI/CLI, и библиотеки, и время выполнения, и потоки. Ты просто изучаешь разные вещи или что-то реальное пишешь, во втором случае IMHO что-то ты с дизайном программы мудришь, возможно твою задачу можно решить проще. Опиши задачу, тебе подскажут куда копать. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 8.6.2025, 12:23 |