Вопросы с тегом «concurrency»

В информатике параллелизм - это свойство систем, в которых множественные вычисления могут выполняться в перекрывающиеся периоды времени. Вычисления могут выполняться на нескольких ядрах в одном чипе, преимущественно с разделением по времени потоков на одном процессоре или выполняться на физически разделенных процессорах.

2
Служба Java Stop Executor, если одна из назначенных ему задач по какой-либо причине не выполняется
Мне нужен какой-то сервис, который будет запускать несколько задач одновременно и с интервалом в 1 секунду в течение 1 минуты. Если одна из задач не выполняется, я хочу остановить службу и все задачи, которые выполнялись вместе с каким-то индикатором, что что-то пошло не так, иначе, если через одну минуту все …

2
Kotlin сопрограммы «случается раньше» гарантирует?
Предоставляют ли сопрограммы Kotlin какие-либо гарантии «произойдет раньше»? Например, существует ли гарантия «происходит до» между записью в mutableVarи последующим чтением (потенциально) в другом потоке в этом случае: suspend fun doSomething() { var mutableVar = 0 withContext(Dispatchers.IO) { mutableVar = 1 } System.out.println("value: $mutableVar") } Редактировать: Может быть, дополнительный пример прояснит …

1
Параллельное «любое» или «все» в Haskell
Шаблон, с которым я сталкивался несколько раз, - это тот, в котором список значений должен быть проверен путем сопоставления некоторого теста и проверки, прошел ли какой-либо или все элементы. Типичное решение - просто использовать удобные встроенные функции allи any. Проблема в том, что они оцениваются в сериале. Во многих случаях …

2
Что гарантировано с C ++ std :: atomic на уровне программиста?
Я выслушал и прочитал несколько статей, выступлений и вопросов о стековом потоке std::atomicи хотел бы быть уверен, что хорошо это понял. Потому что я все еще немного запутался с видимостью записи строк кэша из-за возможных задержек в протоколах когерентности кэша MESI (или производных), буферах хранения, недействительных очередях и так далее. …

1
Безопасно ли для параллелизма вызывать concurrency :: concurrent_vector :: push_back при переборе этого concurrent_vector в другом потоке?
push_back , begin , end описаны как параллельный сейф в https://docs.microsoft.com/en-us/cpp/parallel/concrt/reference/concurrent-vector-class?view=vs-2019#push_back Однако приведенный ниже код утверждает. Возможно, потому что элемент добавлен, но еще не инициализирован. struct MyData { explicit MyData() { memset(arr, 0xA5, sizeof arr); } std::uint8_t arr[1024]; }; struct MyVec { concurrency::concurrent_vector<MyData> v; }; auto vector_pushback(MyVec &vec) -> void …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.