3 / 3 / 1
Регистрация: 05.08.2013
Сообщений: 90
|
||||||
1 | ||||||
Скорость работы программы с потоками и без09.01.2018, 11:53. Показов 4560. Ответов 22
Метки нет Все метки)
(
Написал небольшую программу с потоками. Решил проверить как будет работать быстрее - с потоками или без.
Если в двух словах: 1 функция, создаю 4 потока, запускаю их и по их завершению считаю время. Затем запускаю ту же самую функцию 4 раза без потоков. Оказывается, что без потоков быстрее (см. скрин)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
09.01.2018, 11:53 | |
Ответы с готовыми решениями:
22
Скорость работы программы
Скорость работы программы с использованием БД Потоки, увеличить скорость работы программы |
![]() |
||||||||||||||||
09.01.2018, 12:24 | 2 | |||||||||||||||
![]() Решение
А если заменить
Имеет смысл, если действия выполняются дольше нескольких миллисекунд, выносить их в отдельные потоки, чтобы GUI не подвисал. Помимо потоков, нелишне будет освоить и таски:
1
|
3 / 3 / 1
Регистрация: 05.08.2013
Сообщений: 90
|
|
09.01.2018, 12:31 [ТС] | 3 |
Спасибо) а чем Task отличается от Thread в глобальном смысле? вижу, что код примерно одинаковый
0
|
![]() |
|
09.01.2018, 12:45 | 4 |
Просто я его написал так, чтобы было примерно похоже.
Task поновее будет, и более высокоуровневый. Thread создаёт отдельный поток всегда, а Task только в случае необходимости. Также Task используется в async/await, для ещё более простого применения асинхронности. Если есть возможность, всегда старайтесь использовать Task вместо Thread.
0
|
![]() 9806 / 7178 / 1142
Регистрация: 21.01.2016
Сообщений: 27,286
|
|
09.01.2018, 12:46 | 5 |
Mastersland, таски - тоже потоки (под капотом - теже самые), но более удобны в использовании, а так же являются частью механизма асинхронного выполнения (async\await).
0
|
7 / 7 / 1
Регистрация: 02.03.2011
Сообщений: 304
|
|
16.01.2018, 12:00 | 6 |
А есть ли разница по скорости работы в использовании Task вместо Thread?
Я создаю количество потоков поддерживаемое процессором и в каждый поток отдельно друг от друга проводит вычисления. Я создаю пул потоков и ставлю задачу в очередь пула. Как только какой то поток завершит работу, вместо него запустится следующий. Может можно как то ускорить работу?
0
|
![]() 9806 / 7178 / 1142
Регистрация: 21.01.2016
Сообщений: 27,286
|
|
16.01.2018, 12:08 | 7 |
Нет. Оба этих класса - только обёртки над одной и той же функциональностью ОС.
Добавлено через 1 минуту Наверное можно. Нужно только понять, что и где у вас тормозит. Из описания выше этого не ясно.
0
|
7 / 7 / 1
Регистрация: 02.03.2011
Сообщений: 304
|
|
16.01.2018, 12:19 | 8 |
0
|
![]() 9806 / 7178 / 1142
Регистрация: 21.01.2016
Сообщений: 27,286
|
|
16.01.2018, 12:21 | 9 |
xxxspeed, лучше словами опишите что плохо работает и приведите фрагмент кода.
0
|
7 / 7 / 1
Регистрация: 02.03.2011
Сообщений: 304
|
|
16.01.2018, 12:32 | 11 |
Словами тяжело, так то все работает. Думал мож че поменять, чтоб работало быстрее.
Интересует распределение вычислений, может не правильно сделано. А можно как нибудь распределить вычисления не только по потокам одного компьютера, а но и еще по всем компьютерам сети?
0
|
![]() |
|
16.01.2018, 16:38 | 12 |
Можно. Самое очевидное - запилить программу, которая умеет находить свои копии или вычислительные модули в сети и давать им задание.
Может и готовые библиотеки для этого есть.
0
|
aquaMakc
|
16.01.2018, 17:15
#13
|
0
|
7 / 7 / 1
Регистрация: 02.03.2011
Сообщений: 304
|
|
16.01.2018, 17:55 | 14 |
0
|
![]() 9806 / 7178 / 1142
Регистрация: 21.01.2016
Сообщений: 27,286
|
|
16.01.2018, 17:56 | 15 |
xxxspeed, что решить? Вы проблему-то не озвучили.
0
|
7 / 7 / 1
Регистрация: 02.03.2011
Сообщений: 304
|
|
16.01.2018, 17:58 | 16 |
0
|
7 / 7 / 1
Регистрация: 02.03.2011
Сообщений: 304
|
|
16.01.2018, 18:17 | 18 |
0
|
![]() 9806 / 7178 / 1142
Регистрация: 21.01.2016
Сообщений: 27,286
|
|
16.01.2018, 18:27 | 19 |
xxxspeed, один из вариантов уже озвучили - WCF.
0
|
insite2012
|
16.01.2018, 18:37
Скорость работы программы с потоками и без
#20
|
0
|
16.01.2018, 18:37 | |
Что влияет на скорость работы программы Надо увеличить скорость работы программы Что влияет на скорость запуска и работы программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |