보조 스레드를 사용하는 메소드를 호출했습니다. 메서드 내부에서 메인 스레드에서 메서드를 호출해야합니다. 주 스레드가 메시지를 수신 할 때이 기능을 실행하기 위해 어떻게 든 메시지를 게시 할 수있는 메시지 펌프를 실행하는 경우보조 스레드의 주 스레드를 사용하는 호출 방법
여기에 구조를
void main_thread_method()
{
}
void secondary_thread_method()
{
//do something here
call main_thread_method() here using main thread
}
pthread thread1;
pthread_create (&thread1, NULL, (void *) &secondary_thread_method, NULL);
pthread_join(thread1);
동일한 프로세스의 다른 스레드에서 하나의 스레드의 데이터에 액세스 할 수 있으므로 문제가 무엇인지 알 수 없습니다 ? 일부 계산을 위해 다른 스레드로 컨트롤을 전송 하시겠습니까? 이 경우 세마포어와 조건 변수를 체크 아웃하십시오. –
@All : Objective C/C++에는 보조 스레드의 주 스레드를 사용하여 메소드를 호출 할 수있는 API가 있습니다. 사실, 메인 스레드에서만 호출되어야하는 gtkWindow 객체를 호출해야합니다. – boom