Описание тега thread-safety

Фрагмент кода является потокобезопасным, если он управляет структурами данных только таким образом, чтобы обеспечить согласованное выполнение этого кода несколькими потоками. Код может быть потокобезопасным, условно безопасным (требуется взаимное исключение) или небезопасным (может безопасно использоваться только одним потоком).
1 ответ

VB.NET Вызов BeginInvoke в другом потоке

Таким образом, из раздела комментариев, где этот код персоны был переведен в VB.NET на http://www.codeproject.com/KB/cs/Threadsafe_formupdating.aspx он показывает небольшой код для помощи в вызове кросс-поточного интерфейса. <System.Runtime.Compi…
25 июл '11 в 01:28
1 ответ

Безопасен ли поток ODataController?

Один экземпляр ODataController создается для каждого запроса? Я не смог найти полезных ответов, когда искал это онлайн. Люди говорят о том, что контроллеры MVC являются поточно-ориентированными и что веб-API построен поверх MVC, и поэтому его контро…
1 ответ

Как проверить безопасность потоков с помощью XCTest

Предположим, у нас есть следующий класс с изменяемым состоянием: class Machine { var state = 0 } Теперь предположим, что есть некоторые внутренние механизмы, которые контролируют государство. Однако изменение состояния может произойти в любом потоке…
17 июл '16 в 12:17
2 ответа

Удержание экземпляра класса в статическом объекте в C#

У нас есть класс "DataAccessServiceConnector", в котором у нас мало методов для связи со службой доступа к данным. public class DataAccessServiceConnector: IDataAccessServiceConnector { public async Task<HttpResponseMessage> GetDataAccessServi…
10 май '18 в 17:33
5 ответов

Нужно ли блокировать или помечать как энергозависимые при доступе к простому логическому флагу в C#?

Допустим, у вас есть простая операция, которая выполняется в фоновом потоке. Вы хотите предоставить способ отменить эту операцию, чтобы создать логический флаг, для которого вы установили значение true из обработчика события click кнопки отмены. pri…
03 авг '09 в 12:50
1 ответ

Каков наиболее эффективный способ создания дополнительных потоков из потока?

Вопрос Каков наиболее эффективный способ создания дополнительных потоков из потока? контекст Я изменяю дизайн приложения, чтобы сделать его более эффективным. Одним из самых больших улучшений будет запуск параллельных операций; однако я новичок в па…
0 ответов

Как сделать мой класс databaseconnect для одновременного использования

Я создал класс под названием databaseconnect который отвечает за: подключение к базе данных, метод заполнения combobox, метод для аутентификации, метод для вставки, удаления, изменения,.... У меня проблема в том, что я могу использовать этот класс т…
1 ответ

Потоки в C++11: лучший способ приблизиться к защитникам блокировки?

В следующем примере: Рабочий поток добавляет что-то к вектору: std::lock_guard<std::mutex> guard(UI::GetInstance().my_mutex); UI::GetInstance().my_vector.push_back(new_value); UI Thread проверяет список: while (true) { std::lock_guard<std::…
01 июл '13 в 19:53
1 ответ

Почему Helgrind жалуется на эту программу?

У меня есть такой класс: class A { public: void swap(A& a) { lock(mutex_); vec_.swap(a.vec_); } void push(int elem) { lock(mutex_); vec_.push_back(elem); } private: std::vector<int> vec_; Mutex mutex_; // doesn't matter what kind of mutex …
26 янв '16 в 21:14
3 ответа

Есть ли список поточно-безопасных классов в Java?

Я пытаюсь применить уроки из чтения Java Concurrency на практике в отношении объявления, являются ли написанные мной классы поточно-ориентированными или содержат несинхронизированное изменяемое состояние. Я думаю, что это хорошая идея, потому что он…
04 июн '13 в 10:44
4 ответа

Чтение-запись потокобезопасного интеллектуального указателя в C++, x86-64

Я разрабатываю некоторую структуру данных без блокировки, и возникает следующая проблема. У меня есть поток писателя, который создает объекты в куче и оборачивает их в смарт-указатель со счетчиком ссылок. У меня также есть много читательских тем, ко…
04 ноя '11 в 09:30
2 ответа

Swift потокобезопасный счетчик переменной? используется для отслеживания, когда удалить индикатор сетевой активности

Краткое объяснение моего сценария: У меня есть приложение для iOS, которое может выполнять множество сетевых вызовов одновременно, используя разные потоки. В моем iOS-приложении я хочу отобразить встроенный (в строке состояния) индикатор сетевой акт…
01 июл '17 в 19:08
1 ответ

Есть ли блокировка потока для QSqlQuery при использовании базы данных sqlite памяти

Когда я использую несколько QSqlQuery запрашивать и вставлять в разные таблицы одной и той же памяти sqlite база данных, кажется, что есть поточно-безопасная блокировка, поэтому я не могу ускорить мою программу. я использую Windows API SetThreadAffi…
5 ответов

Блокировка и синхронизация потоков

Я знаю, что мне нужно правильно использовать синхронизацию, чтобы избежать взаимоблокировок при использовании нескольких потоков, но мне было интересно: Нужно ли выполнять синхронизацию как для изменения значения, так и для проверки переменной, или …
26 янв '14 в 11:13
2 ответа

ThreadLocal и SimpleDateFormat массив

Используя шаблон, очень похожий на тот, который описан в недавнем вопросе, для многопоточного приложения, я получаю странные значения даты (например, годы, например, 2025 или 2035, когда в исходных данных явно нет такого значения). Кажется, что возн…
0 ответов

Публикация потокобезопасного объекта

Согласно спецификациям, мы не можем синхронизировать конструктор любого объекта, потому что другие потоки не могут видеть объект, созданный до того, как поток, создавший его, завершил его. Но согласно JMM, при создании объекта память может быть выде…
05 авг '13 в 05:45
2 ответа

Когда завершается поток?

У меня есть код в Qt, который выглядит так: void doSomeStuff() { ... if(blah blah) someObj.start(); ... } а потом someObj.run(): void someObj::run() { blah blah blah, do some stuff doSomeStuff() } То, что я намеревался, для новой темы, созданной в s…
15 дек '10 в 04:36
3 ответа

Насколько критична блокировка - степень и способы отказа

Я стресс-тестировал приведенный ниже код, и он, кажется, работает нормально - каковы опасности не блокирования в простом случае, когда есть запись одного потока и отдельный поток чтения простой переменной? Есть класс, который имеет публичную собстве…
09 янв '12 в 19:15
1 ответ

Блок потоков на основе ввода функции

Я попал в ситуацию, когда мне нужно синхронизировать функцию на основе ввода. например. Есть функция. func(int a)--- эта функция может вызываться многими потоками. Я хочу заблокировать потоки, если они пытаются вызвать эту функцию с одним и тем же в…
12 май '13 в 21:25
2 ответа

Предотвратите сбой автомобилей на перекрестке в Ява

Я сделал Java-приложение для 4-х сторонней развязки. Я могу перемещать все автомобили через перекресток с помощью THread.sleep(), но мне нужно, чтобы автомобили не врезались друг в друга. (См. Схему) http://i49.tinypic.com/ogat8h.jpg Что я должен ис…