barrier

    1

    1답변

    다음과 같은 방법으로 C에서 n 개의 스레드를 동기화하는 모니터를 만들고 싶습니다. 각 스레드는 barrier_synch() 메소드를 호출합니다. 이 메서드를 호출하는 최초의 n-1 thread입니다. n 번째 스레드가이 메서드를 호출하면 모든 수면 스레드가 깨어 난 다음 모든 스레드가 실행을 계속하는 반면 장벽은 초기 조건으로 돌아갑니다. 이것은 내가 찾

    0

    1답변

    소프트는 일부 계산을 수행해야합니다 : 총 62500 개의 루프와 하나의 루프 지속 시간은 0.5 초입니다. 그것은 ~ 8 ​​시간의 일 (for for for for)입니다. 나는 100 개의 개별 스레드로 나눠야하며 작업 시간은 8 분으로 단축됩니다. CPU가 62500 스레드를 열 수 없기 때문에 100 개 스레드를 다시 열 수있는 솔루션을 찾아야합니

    0

    1답변

    (조건 변수와 장벽의 사용을 결합)가 필요합니다 , 나중 단계의 스레드는 현재 단계의 모든 스레드가 완료 될 때까지 기다려야합니다. 예 : 스레드 1, 2, 3은 6 개의 단계 끈 (7), (8) 작업을하고, 스텝 하나 실 (4, 5)을 작업을 수행하고, 9 세 번째 단계 수행 중 ... 각 단계의 스레드는 독립적이지만 이전 단계의 스레드가 완료 될 때까지

    2

    1답변

    C/MPI에서 분산 웹 서버를 만들고 코드에서 첫 번째 MPI_BARRIER 이후에 지점 간 통신이 완전히 멈추는 것처럼 보입니다. 장벽 뒤에 표준 C 코드가 작동하므로 각 스레드가 장벽을 통과하게됩니다. 포인트 - 투 - 포인트 통신은 장벽 앞에서도 잘 작동합니다. 그러나 장벽 앞의 줄에 장벽이있는 코드를 복사하여 붙여 넣으면 장벽이 지나치게 작동하지 않

    0

    2답변

    병렬 내부 동기화 I이 void h(particles *p) { #pragma omp parallel for for (int i = 0; i < maxThreads; ++i) { int id = omp_get_thread_num(); for (int j = 0; j < dtnum; ++j) { f(p,

    0

    1답변

    뮤텍스가없는 스레드를 동기화하는 올바른 방법입니까? 이 코드는 당신이 뭘하려는 건지 정확히 모른 채 오랜 시간 #include <boost/thread.hpp> #include <boost/thread/mutex.hpp> #include <boost/memory_order.hpp> #include <atomic> std::atomic<long> x

    0

    2답변

    내 프로그램의 출력을 동기화하기 위해 pthread 뮤텍스 변수와 장벽을 사용하려하지만 원하는 방식으로 작동하지 않습니다. 각 thread는 최종 값을 for 루프에서 오는 매 20 개의 값으로 보았습니다.하지만 모두 최종 값이 같도록하려고합니다. (5 개의 스레드를 사용하는 경우 모두 100을 최종 값으로보아야합니다. , 스레드 4 개 포함, 80 등)

    0

    1답변

    이것은 인터뷰 질문입니다. n 스레드 사이에 장벽을 구현하고 뮤텍스 및 세마포를 사용합니다. 제안한 해결책 : class Barrier { public: Barrier(unsigned int n) : _n(n),_count(0),_s(0) {} ~Barrier() {} void Wait() { _m.lock(); _count++;

    17

    3답변

    DSB, DMB 및 ISB는 지침의 순서 변경 방지를위한 방벽이라는 것을 알고 있습니다. 나는 또한 그들 각각에 대해 아주 좋은 설명을 많이 찾을 수 있지만, 그것들을 사용해야하는 경우를 상상하기는 꽤 어렵다. 또한 오픈 소스 코드에서 나는 때때로 그 장벽을 보지만 사용 이유를 이해하는 것은 어렵습니다. 다음과 같이 그냥 예를 들어, 리눅스 커널 3.7 t

    1

    2답변

    OMP는 동적 배열의 내용이 최신이고 OMP 장벽 이후 모든 스레드에서 볼 수 있는지 확인합니까?