lock-free

    -1

    1답변

    동시 대기열을 사용하므로 여러 사용자가 자신의 정보를 쓸 수 있습니다. 백그라운드에서 타이머를 사용하여 대기열에있는 모든 것을 시간 기준으로 데이터베이스에 저장합니다. 아래, 내 타이머의 경과 방법에 public void WriteInformation(sting msg) { ConcurrentQueue<MessageQueueItem> oldQue

    5

    1답변

    Michael의 공부하고 있습니다. & Scott의 lock-free 큐 알고리즘을 C++로 구현하려고했습니다. 하지만 코드에 경주가 있었고 알고리즘에 경쟁이있을 수 있다고 생각합니다. Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms 을 원래 큐에서 의사 코드

    0

    1답변

    이 웹 사이트 http://theboostcpplibraries.com/boost.lockfree에서 예제 46.3의 변형을 실행하고 싶습니다. 나는 리눅스 시스템에있다. 대기열 q를 헤더 파일에 정의하고 싶습니다. 나는 생산물을 가지고 있고 기능을 다른 파일에 사용하고 싶습니다. void *produce(void*) { for (

    3

    1답변

    최근 샘플 코드가 있습니다 (실제 코드는 훨씬 복잡합니다). 한스 보엠 (Hans Boehm)의 cppcon16이 원자 적으로 얘기하는 것을 본 후, 나는 코드가 작동하는지 조금 걱정된다. produce은 단일 제작자 스레드에 의해 호출되고 consume은 다중 소비자 스레드에 의해 호출됩니다. 생산자는 2, 4, 6, 8, ...과 같은 순차 번호의 데이

    1

    1답변

    내부에 fetch_and_store 연산이있는 알고리즘이 있습니다. 나는이 줄을 제외한 알고리즘을 세계적으로 이해하고있다 : pred : ^qnode := I->prev := fetch_and_store (L, I). 이것은 (동시성 프로그래밍을위한) CLH 알고리즘입니다. 누군가이 부분을 이해하도록 도와 줄 수 있습니까? 알고리즘 : http://www.

    0

    1답변

    이것은 A. Williams C++ Concurrency in Action 북이며 위험 요소가있는 잠금이 적용되지 않은 항목입니다. 난 그냥 두 줄을 제외하고, 그것의 이해를 얻을 가정, 여기에 그들은 (여기 source)입니다가 // code before if (old_head) { res.swap(old_head->data); // code aft

    1

    1답변

    lock-free 큐를 사용하여 다중 스레드 안전 로그 작성기를 작성하고 싶습니다. 로깅 쓰레드는 메시지를 대기열로 보내고 로거는 메시지를 보내서 출력으로 보냅니다. 그 문제를 해결하는 방법을 생각해 봅시다. 가능한 한 mutex/locks 사용을 피하고 싶습니다. 그래서 C++ 스트림을 사용하여 파일/console에 기록한다고 가정 해 보겠습니다. 목표

    0

    1답변

    웹 서비스를 청취하는 작업에 참여했습니다. 푸시 서비스를 통해 xml 데이터를 전송합니다. 데이터는 약간의 계산을 거친 후 표시됩니다. 대기열을 사용하여 서비스 수신기에서 데이터를 저장하고 비즈니스 로직 코드로 데이터를 읽을 계획입니다. 순수한 단일 생산자 단일 고객 대기열입니다. 웹 서비스 푸시로 데이터를 수신해야하므로 항상 데이터를 받고 대기열로 밀어

    3

    1답변

    Java에서 동시 비트 세트를 만들려고합니다. 이는 크기 확장을 허용합니다 (고정 길이와 반대로, 매우 사소합니다). 여기에 수업의 핵심 부분이 있습니다 (다른 방법은 현재 중요하지 않습니다). public class ConcurrentBitSet { static final int CELL = 32; static final int MASK = CELL

    1

    1답변

    자물쇠가없는 프로그래밍으로 발을 찾으려고합니다. 메모리 순서 지정 의미에 대해 다른 설명을 읽은 다음, 가능한 재정렬이 일어날 수있는 일을 정리하고 싶습니다. 내가 아는 한, 컴파일러 (프로그램 컴파일시 최적화로 인해)와 CPU (런타임시)로 명령을 재정렬 할 수 있습니다. cpp reference는 다음의 예를 제공 이완 의미론 는 : // Thread