리눅스에서 신호받으면 동시에 쓰레드 10개가 동작하게 하려고 합니다.
글쓴이: swoongs / 작성시간: 토, 2010/02/06 - 8:06오후
지금 하고자 하는것은
10개의 쓰레드를 만들고, 전부 대기상태에 빠진후에, 시그널날려고 동시에 프로그램동작시키고자 합니다.
1개의 프로그램이 동작하는 시간은 1초인데, 동시에 실행시키면 응답시간이 어떤식으로 변하는지를 알고 싶어서 그럽니다.
Pthread로 create하는거와 join은 찾아봐서 조금 알거 같은데,
대기상태와 시그널받는 부분은 잘 모르겠어서요.
참고할 만한 자료나 함수를 알려주시면, 감사하겠습니다.
Forums:
이런것도 있네요
pthread_cond_wait 로 각 스레드가 대기 상태로 만들고
pthread_cond_broadcast 로 대기하고 있는 스레드를 한꺼번에 깨울 수 있습니다.
각 스레드당 뮤텍스락을 잡기위해 대기하다가 루프를 돌면서 메인스레드에서 풀어줄 수도 있지만
이런 방식으로는 각 스레드가 작동을 시작하는 시간이 다를 수 있습니다.
한꺼번에 작동 시키기에는 cond_wait/broadcast를 사용하는 것이 좋을 듯 합니다
아 wait과 broadcast라
아 wait과 broadcast라
정말 감사합니다.
열심히 알아보겠습니다.
댓글 달기