2010-12-08 7 views
0

몇 가지 정보 : 일부 장치를 제어하는 ​​프로그램을 작성해야합니다 (기본 기능). 하지만 다른 종류의 기능을 사용하려면 플러그인 시스템을 작성해야합니다. 나는 내가로드 된 모든 플러그인을위한 쓰레드를 생성 할 것이고 그때 그것이 자신의 메인 루프에서 실행될 것이라고 생각하여 그 플러그인 소스 품질을 제어 할 수있는 방법이 없다. 표준 C++ 예외를 잡을 수 있지만 문제는 신호를 처리하는 방법을 모른다는 것입니다. 가장 좋은 방법은 비동기 적으로 플러그인의 스레드를 취소하여 클린업하고 리소스를 없애거나 그를 죽일 수있는 기회를 제공하는 것입니다.하지만 스레드가 현재 신호를 발생시키는 방법을 찾는 방법을 모릅니다. 거기에 어떤 변수에 현재 excuted 스레드 정보를 저장 명시하지 않고이 일을 할 수있는 방법이 있나요? 아니면 이것은 완전히 나쁜 생각이고 나는 별도의 프로세스를 생성하고 플러그인을 실행해야합니까?SIGSEGV를 일으키는 스레드를 죽이는

답변

0

예, 이것은 완전히 나쁜 생각입니다. 쓰레드는 협동 조합이며, 거의 모든 것을 공유하며, 고립을 제공하지 않는 프로그래밍 모델입니다. 이 직업에 대한 잘못된 도구 일뿐입니다.

0

전 전통적인 격리 방법을 사용하여 통신을위한 IPC 메커니즘을 사용합니다.

관련 문제