2009-09-10 3 views
1

내 응용 프로그램을 다른 하위 프로세스로 분할하려고합니다. 각 하위 프로세스는 매우 구체적인 작업을 수행합니다. 주된 이유는 보존성 가비지 컬렉터 (boehm-weisser)를 사용하기 때문에 안정성과 더 나은 메모리 사용률입니다.MacOSX는 여러 개의 NSApplication을 하나의 그룹처럼 그룹화 할 수 있습니까?

나는 그것을 모두하는 하나의 거대한 과정을하고 싶지 않습니다.

하위 프로세스에는 NSApplication 인스턴스가 필요하기 때문에 일부 창이 표시되어야합니다.

하지만 공개 할 때 하나의 응용 프로그램으로 표시하고 주 프로세스의 메뉴 모음을 그대로두고 싶습니다.

이렇게 할 방법이 있습니까?

답변

2

나는 이것을 할 방법이 없다고 믿는다 (없이 많은 해킹).

내 마음에 오는 유일한 가능성은 전용 UI 프로세스 (기본 응용 프로그램)를 가지며 자식 프로세스와 많은 IPC를 수행하는 것입니다. 즉, MVC를 프로세스에 분할하는 것입니다.

1

이렇게 할 방법이 없습니다. Mac OS X에서는 주요 초점을 가진 응용 프로그램이 기본 응용 프로그램이기 때문에 기본 메뉴 모음을 소유하고 있으며 초점 등으로 그려집니다. 전체 시스템은 Expose, Dock, 앱 선택기, 실행 서비스 등 ...

시스템에 내장 된 수집기를 사용하지 않는 이유에 대해 궁금합니다. 전체 시스템은이 컬렉터와 잘 작동하도록 설계되었습니다. 보수적 인, 정확히 스캐닝 (스택 제외), 거의 전적으로 논 블로킹 콜렉터입니다.

+0

GUI가 아닌 OS 독립적 일 필요가 있기 때문에. – Lothar

+1

글쎄, 애플이 이것을 구축하는 것은 매우 쉽다. 각 애플 리케이션에 공통 appid를 부여하고 모두 함께 그룹화해야한다. 이것을 사과 엔지니어에게 제안 할 시간입니다. 왜냐하면 현재의 구현은 기술적 인 의미가 없기 때문입니다. – Lothar

1

크롬과 스테인리스는 무엇을하고 있지 않습니까?

여러 작업자 프로세스와 대화하는 하나의 GUI 응용 프로그램을 사용하는 것은 매우 쉽습니다. 이러한 도우미 프로세스가 UI를 제공하기를 원하는 경우 상황이 까다로워집니다.

메뉴 막대 나 도킹 아이콘이없는 도우미 응용 프로그램이 있다고 상상할 수 있습니다. 메인 애플리케이션의 윈도우에 오버레이 윈도우를 두는 옵션이있을 수 있습니다. 나는 이런 식으로 원격으로 아무 것도 시도한 적이 없다.

관련 문제