|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||||
Как правильно поступить для потокобезопасности17.02.2024, 07:19. Показов 3907. Ответов 62
Метки нет (Все метки)
Здравствуйте,
Есть код, обрабатывающий побайтно файл, заранее загруженный в byte[]. Потоки организуются средствами C# через Parallel.ForEach вот таким образом:
if выполнится, в другом потоке max изменится и когда будет исполняться Exchange, то оно по сути испортит данные? Логичнее ли сделать через lock весь if?Вопрос 2 - как правильно покидать Parallel.ForEach внутри кода, если там не получается использовать break? Я сейчас просто делаю метку к концу и прыгаю туда goto.
0
|
||||||
| 17.02.2024, 07:19 | |
|
Ответы с готовыми решениями:
62
Как правильно поступить? Как правильно поступить как правильно поступить? |
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||
| 26.02.2024, 15:52 [ТС] | ||||
|
Добавлено через 14 минут я не знаю как конкретно и что измеряете вы, но ваш код, переделанный на индексы стал работать сильно быстрее, но всё еще медленнее моего однопотока в 3 раза, всё на тех же 4.5 млн слов, при этом Benchmark показывает среднее значение для вашего кода 537 мс, это 0.5 сек, а никак не 0.0162 мс, еще и на данных на порядок больше. Даже если у вас современный ЦПУ по сравнению с моим старичком, то всё равно он не будет у вас быстрее в 31 раз. Разница в 15 раз для топового ЦПУ который никто особо не покупает чтобы тестировать текстовики дома.
0
|
||||
|
|
||||||||||||
| 26.02.2024, 16:18 | ||||||||||||
0
|
||||||||||||
|
|
||||||
| 26.02.2024, 16:43 | ||||||
|
Хз, класс прям предназначен для точных замер времени итерации. Другое дело что я под DEBUG все запускаю и фоном виртуалка и ютуб в браузере шарашат. В любом случае тут замеры явно идут на секунды, так что для очень больших блоков -- есть профит. Искать минимальный размер этого блока -- без меня. Могу глянуть вашу реализацию и переделать на Task или другой вариант многопотока, но не более.
p.s. таки есть мини ошибка (на замеры не влияет)
0
|
||||||
| 26.02.2024, 16:43 | |
|
Подскажите как правильно поступить как правильно поступить с COOKIE как правильно поступить с hover Отображение левого меню, как правильно поступить? Как правильно нужно поступить в текущей ситуации? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|