pthread-join

    0

    1답변

    다중 스레드 프로그램에서 스레드로 병렬 계산 된 계산을 기반으로 공유 메모리를 할당 한 다음 동기화 후 모든 스레드에서 해당 공유 메모리를 사용해야합니다. 쓰레드에 합류하지 않고 새로운 쓰레드를 생성하지 않고 그렇게 할 수있는 방법이 있습니까? 스레드가 공유에 자신의 실행을 계속 예상 크기의 공유 메모리를 선언 16 스레드 병렬 에 필요한 메모리의 크기를

    1

    2답변

    그래서 1-99 사이의 임의의 값을 갖는 2-d 어레이 [5] [12]를 생성하는 할당이 있습니다. 그런 다음 pthreads를 사용하여 배열의 각 요소에 1을 더하거나 1을 뺀 다음 결과를 출력하고 2, 3 또는 4 스레드로 프로세스를 나눕니다. 스레드의 수는 사용자가 명령 행에서 입력 한 내용에 따라 다릅니다. 컴파일하고 실행하는 코드가 있습니다. 그러

    0

    1답변

    대기열에 작업을 추가하는 프로젝트가 있고 여러 스레드에서 작업을 수행하고 자체 독립적 인 결과를 계산합니다. 내 프로그램이 SIGINT 신호를 처리하고 스레드를 결합하여 결과를 추가하고 화면에 인쇄 한 다음 종료합니다. 내 문제는 스레드가 신호를 보낼 때 스레드가 작동을 멈추는 것처럼 보이거나 mutex_lock에서 차단되고 있다는 것입니다. 여기 내 프로

    0

    1답변

    에게 간단한 테스트 할당을 해제하지 않습니다 void testMemoryLeak_PthreadCreateJoin(void) { auto taskFunction = [](void*args) -> void* { return nullptr; }; pthread_t pth; int err = pthread_

    -2

    3답변

    다음 프로그램을 실행할 때 출력은 5입니다. 왜 5입니까? 왜 8? void *doit(void *vargp) { int i = 3; int *ptr = (int*)vargp; (*ptr)++; } int main() { int i = 0; pthread_t tid; pthread_create(&ti

    0

    1답변

    for 루프의 인덱스를 래퍼 객체를 통해 pthread_create의 인수에 전달하고 싶습니다. 그러나 스레드에서 인쇄 된 정수가 올바르지 않습니다. 아래의 코드가 특별한 순서없이 인쇄 될 것으로 예상했습니다. ID는이 대신 정수 1,3 스레드 로 전달되지 않는다 인쇄 그러나 ID가 3이며, ID는 2, 번호가 1, 0 인 ID는 0, ID는 0, ID가,

    0

    1답변

    내 프로젝트에 문제가 있습니다. 오류 코드 3을 던졌습니다. 방금 ​​내가 한 일을 볼 수 있도록 제 코드를 추가합니다. main.cpp에 내가 스레드에 선언 한 다음 initRequestThreads (thread.h에) 스레드를 만들려면 보내십시오. main.cpp에서 주 프로세스가 기다릴 수있게합니다. MAIN.CPP pthread_t *request

    1

    2답변

    현재 다른 스레드에서 스레드를 만들려고합니다. 내 스레드에 가입하려고 할 때 , 나는이 내 주요 기능입니다 세그먼트 폴트를 얻을 : int main(int argc, char *argv[]) { std::cout<< "start" << std::endl; init(); std::cout<<"finished init" << std:

    0

    1답변

    나는 pthread을 통해 생성되고, 결합 가능으로 표시된 자식을 여러 개 가지고 있습니다. pthread_join을 사용하여 하나씩 기다릴 수는 있지만 누구와도 연결되기를 기다리고 싶습니다 (즉, 어느 한쪽이 종료되자 마자). 어떤 어린이 pthread이 종료되었는지 어떻게 알 수 있습니까? 유일한 해결책은 pthread_join을 통해 차례로 폴링하나요

    0

    1답변

    I는 두 가지 방법으로 동시 큐를 구현하는 전달 함수 : 가 (인큐)를 추가 & 가 (디큐)을 제거한다. 2 개의 스레드를 사용하여 구현을 테스트하려면 getRandom()이라는 메서드에서 0과 1 사이에 10 (NUMBER_OF_OPERATIONS) 개의 임의 숫자를 생성했습니다. 이렇게하면 추가 및 제거 작업의 다른 배포를 만들 수 있습니다. doWor