Skip to main content

신호 프로그래밍이란 무엇입니까?

signal 신호 프로그래밍은 상태의 일부 변경 또는 사용자 입력에 의해 생성 된 신호 또는 이벤트에 대한 응답으로 주로 기능하는 컴퓨터 프로그램을 참조하는 데 종종 사용되는 용어입니다.컴퓨터 시스템의 거의 모든 부분은 주변 장치에서 운영 체제 자체에 이르기까지 응용 프로그램에 의해 캡처 한 다음 처리 될 수있는 신호를 생성 할 수 있습니다.여러 형태로 신호 프로그래밍은 이벤트 중심 프로그래밍과 유사합니다.신호 프로그래밍을위한 가장 일반적인 용도 중 일부는 사용자 입력, 네트워크 통신 및 특정 시스템 신호를 캡처하고 처리하는 저수준 프로그램에 응답하는 그래픽 사용자 인터페이스와 관련이 있습니다. 컴퓨터 프로그래밍의 신호는 메시지,기원, 시스템 아키텍처 또는 프로그래머의 선호에 따라 이벤트 또는 인터럽트.가장 넓은 용어로는 일부 상태 또는 데이터가 변경되었으며 때로는 발생한 변경 사항에 대한 추가 정보가 동반됩니다.키를 누르면 수직으로 되돌아 갈 때 모니터와 같은 하드웨어에서 또는 메모리 할당 중에 페이지 결함과 같은 일이 발생할 때까지 키를 누르면 키를 누르면 신호를 생성 할 수 있습니다.신호 프로그래밍은 여러 유형의 아키텍처를 취할 수 있지만 가장 일반적인 중 하나는 청취자 또는 관찰자 모델입니다.이 방법에서, 사용자 정의 코드는 일반적으로 운영 체제 내에서 신호 핸들러로 어떤 방식으로 전달 될 수 있으며, 이로 인해 해당 코드를 호출하여 함수가 찾고있는 내용과 일치하는 신호를 처리합니다.기능이 처리 할 수있는 신호의 유형은 신호 마스크로 알려진 변수에 의해 결정되므로 일부 신호는이를 처리하도록 설계되지 않은 루틴으로 전달되지 않습니다. 두 번째 유형의 신호 프로그래밍에는 대기열을 구현하는 프로그램이 포함됩니다.그것은 들어오는 신호를 받아들입니다.이 대기열은 프로그램의 기본 실행 루프에서 폴링되며 신호가 큐에 들어가면 프로그램이 반응합니다.그런 다음 각 신호는 다른 프로세스로 논리적으로 정렬, 처리, 무시 또는 전달 될 수 있습니다.예를 들어 두 개의 별도 스레드가 두 개의 별도 사용자 입력 장치 또는 두 개의 네트워크 소켓에서 생성 된 신호를 듣는 경우 합병증이 발생할 수 있습니다.두 사용자가 동시에 일부 데이터를 변경하려고 시도하면 프로그램 데이터가 동기화에서 벗어나 각 사용자마다 다르게 나타날 수 있습니다.선형 큐를 사용하거나 스레드 동기화 방법을 구현하면이 상황을 방지하는 데 도움이 될 수 있습니다.