Заблокирован
|
||||||
Распараллеливание нахождения интеграла методом трапеций24.02.2016, 23:13. Показов 3410. Ответов 8
Метки нет Все метки)
(
сделал через PLINQ и через потоки, но через потоки уже час висит и никак, я думал вначале что реально просто так долго, но щас уже начал сомневаться, посмотрите пожалуйста, вроде все правильно, но почему же так долго...
0
|
24.02.2016, 23:13 | |
Ответы с готовыми решениями:
8
Решение интеграла методом трапеций
|
91 / 90 / 37
Регистрация: 05.08.2011
Сообщений: 428
|
|
25.02.2016, 00:01 | |
Penelent, А не пробовали через отладку проверять, на какой именно строке висит? Например, на 85 строку поставить брекпоинт.
Сейчас проверил. 85 строка ( while (steps.Count != count) ![]()
0
|
![]() ![]() |
|||||||||||||
25.02.2016, 06:25 | |||||||||||||
![]() Решение
Если это
Добавлено через 16 минут
Можете попробовать ConcurrentBag<T> вместо List<T>. Добавлено через 5 минут Числа с плавающей точкой нельзя напрямую сравнивать не из-за погрешностей округления, а из-за природы их представления в памяти. Для сравнения надо брать разницу:
1
|
Заблокирован
|
|
25.02.2016, 07:37 [ТС] | |
ORLENOK, естественно пробовал, нет, там у меня ничего не зависало, у меня было видно как бесконечно создаются эти потоки и выполняются, в первом цикле...
Rius, да да, именно для ожидания завершения всех потоков, сейчас с вашим кодом и правда заработало, но ведь это уже не потоки? или я ошибаюсь? просто в задании четко сказано использовать потоки, а тут задачи... или это одно и то же? з.ы. кстати так и так все равно самый быстрый выходит последовательный метод ![]()
0
|
![]() ![]() |
|
25.02.2016, 07:47 | |
Это те же потоки, только более современные и удобные. Почитайте про TPL.
Параллельный быстрее к месту. Если на переключение контекста тратится больше времени, чем выигрывается от распараллеливания полезной работы, то смысла в применении потоков нет. Добавлено через 7 минут Да, Task берет поток из пула потоков, в отличие от Thread.
1
|
Заблокирован
|
|||||||
25.02.2016, 07:52 [ТС] | |||||||
в конечном счете даже еще проще сделал
0
|
![]() ![]() |
|
25.02.2016, 07:55 | |
То, что Thread можно запустить кучу. А Task запустится столько, сколько считает нужным среда. Task не создаёт себе новый поток, а оптимально использует доступное.
Между Thread и потоком есть однозначное соответствие. А между Task и потоком - нет.
0
|
![]() ![]() |
|
25.02.2016, 08:47 | |
Не однозначно равно.
ConcurrentBag попробуйте в своём первом варианте. Добавлено через 42 минуты Если задание именно забить планировщик потоками, то Thread. Если ручной запуск потоков, то и Task пойдёт. Никто не мешает сдать больше вариантов, чем задано.
0
|
25.02.2016, 08:47 | |
Помогаю со студенческими работами здесь
9
Нахождения определенного интеграла методом трапеций
Нахождение определенного интеграла методом прямоугольников и методом трапеций Вычисление интеграла методом прямоугольников и методом трапеций Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
|
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
|
Stack, Queue и Hashtable в C#
UnmanagedCoder 14.05.2025
Каждый опытный разработчик наверняка сталкивался с ситуацией, когда невинный на первый взгляд List<T> превращался в узкое горлышко всего приложения. Причина проста: универсальность – это прекрасно,. . .
|
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
|
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
|
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
|
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
|
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
|
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
|
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
|