«concurrency» 태그된 질문

컴퓨터 과학에서 동시성은 동시 계산은 겹치는 시간에 여러 계산을 수행 할 수있는 시스템의 속성입니다. 계산은 동일한 칩의 여러 코어에서 실행되거나, 동일한 프로세서에서 미리 공유 된 스레드 또는 물리적으로 분리 된 프로세서에서 실행될 수 있습니다.


7
node.js에서 병렬 실행 조정
node.js의 이벤트 중심 프로그래밍 모델은 프로그램 흐름을 조정하는 데 다소 까다로워집니다. 간단한 순차 실행은 중첩 된 콜백으로 바뀌며, 이는 충분히 쉽습니다 (기록하기에는 약간 복잡함). 그러나 병렬 실행은 어떻습니까? 병렬로 실행할 수있는 세 개의 작업 A, B, C가 있고 작업이 완료되면 그 결과를 작업 D로 보내려고합니다. 포크 / 조인 모델을 사용하면 …

3
ConcurrentDictionary TryRemove는 언제 false를 반환합니까?
사전에 주어진 키에 대한 값이 포함되지 않은 경우에만 false를 반환하거나 다른 스레드가 무언가를 추가 / 업데이트하는 것처럼 스레드 경합 상태로 인해 false를 반환할까요? 코드 질문 : ConcurrentDictionary<int, string> cd = new ConcurrentDictionary<int, string>(); // This might fail if another thread is adding with key value of 1. cd.TryAdd(1, "one"); // …
79 c#  .net  concurrency 

3
std :: hardware_destructive_interference_size 및 std :: hardware_constructive_interference_size 이해
C ++ 17 추가 std::hardware_destructive_interference_size및std::hardware_constructive_interference_size . 첫째, L1 캐시 라인의 크기를 얻는 이식 가능한 방법이라고 생각했지만 이는 지나치게 단순화 된 것입니다. 질문 : 이러한 상수는 L1 캐시 라인 크기와 어떤 관련이 있습니까? 사용 사례를 보여주는 좋은 예가 있습니까? 둘 다 정의됩니다 static constexpr. 바이너리를 빌드하고 캐시 라인 크기가 다른 다른 …

10
ExecutorService를 통해 CompletionService를 언제 사용해야합니까?
방금 이 블로그 게시물 에서 CompletionService를 찾았 습니다 . 그러나 이것은 표준 ExecutorService에 비해 CompletionService의 장점을 실제로 보여주지는 않습니다. 둘 중 하나를 사용하여 동일한 코드를 작성할 수 있습니다. 그렇다면 CompletionService는 언제 유용할까요? 명확하게하기 위해 짧은 코드 샘플을 제공 할 수 있습니까? 예를 들어,이 코드 샘플은 CompletionService가 필요하지 않은 경우 (= …

1
Java에서 사용되는 메모리 펜스 란 무엇입니까?
방법을 이해하려고 노력하는 동안 SubmissionPublisher( 자바 SE (10), 오픈 JDK 소스 코드 | 문서 ), 버전 9에서 자바 SE에 추가 된 새로운 클래스가 구현 된, 나는에 몇 가지 API 호출을 우연히 발견 VarHandle나는 이전에 인식되지 않았습니다 : fullFence, acquireFence, releaseFence, loadLoadFence와 storeStoreFence. 특히 기억 장벽 / 울타리의 개념에 관한 연구를 …

2
할당 된 작업 중 하나가 어떤 이유로 든 실패하면 Java 실행 프로그램 서비스 중지
몇 가지 작업을 동시에 1 분 간격으로 1 초 간격으로 실행하는 서비스가 필요합니다. 작업 중 하나가 실패하면 서비스와 서비스와 함께 실행 된 모든 작업에 문제가 있음을 나타내는 표시가 있습니다 .1 분 후에 모든 것이 잘되면 모든 것이 잘되었다는 표시와 함께 서비스가 중지됩니다. 예를 들어, 나는 두 가지 기능을 가지고 있습니다 …

2
코 틀린 코 루틴은“이전의 일”을 보장합니까?
코 틀린 코 루틴은 "전의 어쩌면"보증을 제공합니까? 예를 들어, mutableVar이 경우 다른 스레드에 대한 쓰기 및 후속 읽기 (잠재적으로) 간에 " 어쩌면 이전"이 보장됩니까 ? suspend fun doSomething() { var mutableVar = 0 withContext(Dispatchers.IO) { mutableVar = 1 } System.out.println("value: $mutableVar") } 편집하다: 어쩌면 추가 예제는 Kotlin이 더 많기 때문에 …

1
Haskell에서 병렬 "any"또는 "all"
내가 여러 번 겪어 본 패턴은 테스트를 매핑하고 일부 또는 모든 요소가 통과했는지 확인하여 값 목록을 확인 해야하는 패턴입니다. 전형적인 솔루션은 편리한 내장 기능을 사용하는 것입니다 all및 any. 문제는 이것들이 연속적으로 평가된다는 것입니다. 많은 경우에는 것 정도 되면 프로세스가 완료되고 병렬로 평가 빠른 어떤 스레드가 "거짓"를 찾아 all나에 대한 "true"로 …

2
프로그래머 수준에서 C ++ std :: atomic으로 보장되는 것은 무엇입니까?
에 대한 여러 기사, 대화 및 스택 오버플로 질문을 듣고 읽었으며 std::atomic그것을 잘 이해하고 싶습니다. MESI (또는 파생) 캐시 일관성 프로토콜, 버퍼 저장, 대기열 무효화 등의 가능한 지연으로 인해 캐시 라인 쓰기 가시성과 약간 혼동되기 때문에. x86은 더 강력한 메모리 모델을 가지고 있으며 캐시 무효화가 지연되면 x86이 시작된 작업을 되돌릴 …

1
다른 스레드에서 동시 _ 벡터를 반복하면서 동시성 : : concurrent_vector : : push_back을 호출하는 것이 동시성 안전합니까?
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 { vec.v.push_back(MyData{}); …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.