C 스레드와 그 반환 값에 대한 질문이 있습니다. 내 목표는 시작 번호와 끝 번호 사이의 모든 소수를 찾는 것입니다. 나는 4 개의 스레드를 가지며, 각 스레드는 범위의 1/4을 수행한다.C 스레드 및 결합
그래서 예를 들어, 소수는 쓰레드 1이 소수 발견
- 1 ~ 100 (1) 사이 - 스레드
- 75-51 3 스레드
- 50-26 2 스레드
- 25 4 76 - 100
모든 소수는 배열에 저장되며 소수를 계산하는 함수가 있습니다. 100 - 나는
pthread_join(tids[i], ptr);
는 모든 소수, 하나의 결합 된 배열에 대한 포인터 ptr에 할 스레드에 가입 할 때
내 질문은,? 하나 개의 큰 배열로 100 - 나는 그것이 1의 모든 소수를 인쇄 할 수있는 값
printf("%d", ptr[i]);
을 인쇄하는 루프를 사용하는 경우
의미?
4 개의 개별 어레이를 결합합니까?
당신에게
감사합니다. 또한 void * ptr = NULL을 선언 할 수도 있습니다. 그런 다음 내 join 함수를 수행하십시오 pthread_join (tids [i], &ptr); 그럴까요? – user2817240
이 경우 ptr은 배열을 가리키는 변수이므로 for 루프를 사용하여 포인터를 내 구조로 캐스트 할 수 있습니다 배열에 소수를 출력 할 수 있습니까? – user2817240
그래서 4 개의 배열을 가지므로 ptr 변수를 사용하여 하나의 배열을 만들고 그 값을 반환 할 수 있습니까? – user2817240