Skip to main content

활성 개체 란 무엇입니까?

computer 컴퓨터 프로그래밍 및 엔지니어링에서 활성 객체는 일부 서비스가 멀티 스레드 또는 동시 시스템에서 항상 사용할 수 있도록하는 데 사용할 수있는 디자인 패턴 유형입니다.활성 객체는 메커니즘을 구현하여 외부 객체가 실행이 완료되기를 기다리지 않고 외부 객체에서 입력을 수신하고 처리 할 수있는 객체입니다.이 메커니즘은 또한 동시 프로세스가 중지하고 액세스를 기다려야하는 긴 차단 시간의 가능성없이 동시에 활성 객체를 사용할 수있는 많은 객체를 허용합니다.이는 가장 자주 활성 객체를 대중화라고하는 공개적으로 액세스 가능한 인터페이스로 포장 한 다음 객체 내부에서 큐 시스템 유형을 구현하여 메시지가 나중에 처리 할 수 있도록 저장되어 달성됩니다.이것은 객체가 활성 객체로 메시지를 보내고 활성 객체가 메시지를 처리 할 때까지 처리를 계속하고 나중에는 결과의 호출 객체에 그에 따라 상태를 업데이트 할 수 있도록 처리를 계속할 때까지 디자인 패턴을 만듭니다., 일반적인 물체를 수동 물체라고 할 수 있습니다.간단한 프로그램 예에서 수동 객체는 채팅 서버 릴레이 역할을 할 수 있으며, 원격 객체는 수동 객체에 닿아 서버의 다른 모든 사람들에게 메시지를 전송합니다.수동 서버 객체가 원격 객체에서 채팅 메시지를 수신 할 때마다 요청을 즉시 처리 한 다음 즉시 출력을 전송해야합니다. 원격 객체는 프로세스가 수행 될 때까지 자체 실행을 중단합니다.프로그램 내에서 다른 스레드를 생성하면 실행 차단 문제를 해결할 수 있지만 동기화 문제가 시작됩니다.

활성 객체 디자인 패턴에서 위의 예제의 동일한 서버 객체는 다른 객체와 별개의 스레드에서 실행됩니다.또한 별도의 스레드, 때로는 기본 프로그램 실행 스레드에서 실행되는 프록시로 알려진 일부 유형의 인터페이스로 랩핑됩니다.원격 객체가 서버 객체에 채팅 메시지를 보내려면 프록시 오브젝트에 연락하여 필요한 모든 정보를 전달한 다음 대기 대신 일반 실행 상태로 돌아갑니다.

프록시 인터페이스가 변환됩니다.원격 개체에서 활성 개체가 처리 할 대기열로 전달 된 메시지로 정보로 정보를 제공합니다.이 시점에서 프록시 인터페이스와 원격 객체는 모두 자유롭게 실행할 수 있으며 차단되지 않습니다.한편, 활성 객체는 큐를 비워두고 각 들어오는 메시지를 처리하기 위해 작동합니다.호출 객체에 활성 객체가 일부 정보를 반환 해야하는 경우 콜백 구조를 사용하여 원격 객체에 상태 변경 사항을 알릴 수 있습니다.