쓰래드 질문있습니다
갤투
질문 제목 : 쓰래드
질문 내용
다중으로 쓰래드를 선언하고각각의 쓰래드는 연산 작업을 합니다.그리고 각 쓰래드가 연산 작업을 마치면 그 결과값이 다른 쓰레드로 옮겨져 다른 쓰래드에서 그 결과값을 사용 할 수 있나요?
질문 요약 :쓰래드 1
a = 1+1;쓰래드 2
b = 2+2;쓰래드 3c = a+ b;이런 식으로 사용하고 싶습니다.
-
갅지돋는슬아
먼저답변을 올려주신 3분께 감사드립니다.
지금 막 pthreade 를 배운상태라 아직까지 이해력이 떨어져서 정리에 대한 질문을 다시 올립니다.
즉 제 1 ,2 쓰래드를 _beginthreade 으로 구현 한뒤 이 프로그램이 종료될때까지 기다렸다가 나온 결과값을
WaitForMultipleObjects()를 통하여 제 3 쓰래드에 받아서 사용해야한다는 말씀이신가요? 아 그리고 플렛폼이 유닉스인지라 윈도우즈 계열 함수가 사용이 되는지도 알고 싶습니다. -
꼼지
이때 주의할 점은, 마지막 결과 스레드를 종료 하기도 전에 메인 스레드가 먼저 종료되어 버리면 제대로 된
결과값을 못 볼 가능성이 크므로, 이때도...WaitForSingleObject 함수로 3번째 스레드가 종료되어 리턴될 때(신호상태) 까지 대기를 해주는게 좋습니다. -
푸른들
_beginthreadex 함수로 스레드 2개를 우선 돌립니다.
그리고 나서, 2개의 스레드가 signal(신호) 상태가 될 때까지...즉, 2개의 스레드가 모두 종료될 때까지는
결과 스레드가 돌아가지 않도록 대기를 해야 합니다. 이때 사용하는 방법으론, 위 같은 경우 2개의 스레드만
대기하면 되므로 WaitForMultipleObjects() 함수로 앞선 2개의 스레드가 종료 될때까지 대기를 합니다.
그리고 나서, 이 WaitForMultipleObj -
멈짓체
가능합니다만 두개를 가지고 합을하는 스레드의 경우는 상위 스레드 2개가 완료된후 돌아가게끔 해야 정상적으로 원하는 값이 나오겟지요, 무한대기를 하다가 연산을 하던지 , a b 값이 나오면 스레드를 호출하던지 겟네요
-
슬아라
가능합니다만 두개를 가지고 합을하는 스레드의 경우는 상위 스레드 2개가 완료된후 돌아가게끔 해야 정상적으로 원하는 값이 나오겟지요, 무한대기를 하다가 연산을 하던지 , a b 값이 나오면 스레드를 호출하던지 겟네요
-
큰모음
보통 다 그렇게 쓰려는 목적으로 다중 프로세스, 다중 쓰레드 프로그램을 만듭니다.
문젠 저게 생각보다 안쉬울수 있단 것이고(그렇다고 어렵다고 하기도 거시기 하죠...), 그레서 운영체제 같은 과목에서 가르치는 것도 모자라 아예 별도로 저런 주제만 따로 다루는 과목이 있는 대학들도 있습니다.
심지어는 저런 환경을 위한 최적화된 제작도구를 언어부터 다시 만들기도 하죠...
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694370 | 내일까진데 함수호출 제발 도와주세요!!!!!!!!!11 | 들찬 | 2025-05-10 |
2694339 | putchar()의 괄호 안에 int c=10;로 전에 선언된 c를 넣으면 안되는 이유에서 제가 생각한 것이 그 이유가 되는지 확인하고 싶습니다. (3) | 미르 | 2025-05-10 |
2694316 | 이 코드 어디가 잘못되었는지 고수분들 ㅠㅠ (2) | 나빛 | 2025-05-10 |
2694285 | 언어 공부하는 과정 좀 추천해주세요! (1) | 아빠몬 | 2025-05-09 |
2694258 | 카운터.. 질문입니다. (4) | 하늘빛눈망울 | 2025-05-09 |
2694229 | 단순한 질문이요 (8) | 여름 | 2025-05-09 |
2694202 | 용돈을 가지고 할 수 있는 일을 여러가지로 출력하는 방법 좀 알려주세요! (2) | 미나 | 2025-05-09 |
2694145 | 화면깜빡임을 없애고 싶은데요... (1) | 어서와 | 2025-05-08 |
2694069 | unsigned 질문입니다. | 힘차 | 2025-05-07 |
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |
2693727 | scanf 오류 문제!! (2) | 큰나래 | 2025-05-04 |