|
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
|
||||||
Обезопасить доступ к коллекции из разных потоков02.12.2016, 12:52. Показов 5047. Ответов 37
Метки нет (Все метки)
станет ли безопасным метод AddSafe?
0
|
||||||
| 02.12.2016, 12:52 | |
|
Ответы с готовыми решениями:
37
Одновременный доступ к коллекции из двух потоков Доступ к БД с разных потоков |
|
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
|
|||
| 07.08.2017, 18:30 [ТС] | |||
|
Может ли это быть связанным с тем что я использую Thread-ы а не Task-и ?
0
|
|||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 07.08.2017, 18:48 | |||
|
0
|
|||
|
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
|
|
| 08.08.2017, 16:37 [ТС] | |
|
Нет, таких вещей нету.
У меня только один вариант - взять SynchronizationContext UI и делать всё там без локов, но это же фигня полная
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 08.08.2017, 16:39 | |
|
Jotun, если есть возможность — подцепите проект, глянем.
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 08.08.2017, 16:42 | |
|
Извиняюсь за странный вопрос. А почему бы не воспользоваться потокобезопасными коллекциями?
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 08.08.2017, 16:45 | |
|
aquaMakc, возможно, автору требуется поддержка INotifyCollectionChanged, которую реализуют не все готовые потокобезопасные коллекции.
0
|
|
|
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
|
||||||||||||
| 08.08.2017, 16:47 [ТС] | ||||||||||||
0
|
||||||||||||
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
||
| 08.08.2017, 16:52 | ||
|
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 08.08.2017, 17:03 | |
|
Jotun, так удалите этот синхронный вызов, зачем он там?
aquaMakc, я могу ошибаться, но вроде в дотнете нет готового потокобезопасного списка?
0
|
|
|
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
|
|
| 08.08.2017, 17:08 [ТС] | |
|
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 08.08.2017, 17:15 | |||
|
Используйте EnableCollectionSynchronization, передайте в него тот же объект, что вы используете для синхронизации в коллекции и поудаляйте вызовы Send/Post — пусть фреймворк сам синхронизирует.
1
|
|||
|
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
|
||
| 08.08.2017, 17:20 [ТС] | ||
0
|
||
|
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
|
|||||||||||
| 21.08.2017, 22:23 [ТС] | |||||||||||
|
Снова появился вопрос(идея)
Сейчас если я изменяю данные конкретного объекта коллекции - то лочу всю коллекцию, выглядит это так примерно:
А что если у каждого объекта коллекции будет свой _lock, и если нужно изменять данные только одного объекта - то использовать этот "локальный" лок? Будет ли это более эффективным? Если я буду удалять элемент коллекции - можно ли будет использовать лок самого объекта?
0
|
|||||||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 21.08.2017, 23:04 | |||
|
1
|
|||
|
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
|
||||||
| 22.09.2017, 19:54 [ТС] | ||||||
|
И снова здраствуйте
Объясните пож. такой момент.Вот я использую ConcurrentDictionary
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 22.09.2017, 22:44 | ||
|
Для правильного использования смотрите его методы, начинающиеся на Try — через них реализована потокобезопасность.
0
|
||
|
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
|
|
| 23.09.2017, 08:46 [ТС] | |
|
Возмём тогда для примера ConcurrentDictionary<TKey, TValue>.TryGe tValue Method (TKey, TValue)
У него есть: ArgumentNullException : key is null. Значит в случае выше указанного примера это не поможет? Добавлено через 7 минут А всё понял, если ключа не будет то просто не запишется значение
0
|
|
| 23.09.2017, 08:46 | |
|
Доступ к стриму из разных потоков Доступ к функции с разных потоков C++ Builder Обеспечить корректный доступ к элементу из разных потоков
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|