델파이 thread 예제

이 페이지에서는 무료 파스칼 및 라자루스를 사용하여 다중 스레드 응용 프로그램을 작성하고 디버깅하는 방법을 설명합니다. 다중 스레드 응용 프로그램은 동시에 작동하는 두 개 이상의 실행 스레드를 만드는 응용 프로그램입니다. 멀티 스레딩을 새로 접하는 경우 “멀티 스레딩이 필요합니까?” 단락을 읽고 실제로 필요한지 여부를 확인하십시오. 이 많은 두통을 저장할 수 있습니다. 스레드를 시작하고 만들려면 다음과 유사한 코드를 사용할 수 있습니다: 스레드 중 하나를 Main Thread라고 합니다. 주 스레드는 응용 프로그램이 시작되면 운영 체제에서 만든 스레드입니다. 주 스레드는 사용자와 인터페이스하는 구성 요소를 업데이트하는 유일한 스레드여야 합니다. 다중 스레딩의 또 다른 용도는 동시에 많은 클라이언트에 응답할 수 있는 서버 응용 프로그램일 수 있습니다. 그거에요. 사용자가 단추를 클릭하면 스레드가 시작되고 Execute에서 작성한 대로 수행이 진행됩니다. 사용자가 단추를 다시 클릭하면 다른 스레드가 시작되고 클릭할 때마다 다른 스레드가 시작됩니다. 그들은 모두 병렬로 실행되며, 각각 Execute()로 작성된 모든 작업을 수행한 다음 끝납니다. 첫 번째는 스레드가 문제 자체를 처리하도록 하는 것입니다.

이는 주로 a) 스레드 실행 결과를 종료 하기 전에 기본 VCL 스레드에 다시 통신 하는 스레드에 사용 됩니다. 또는 b) 종료 시 다른 스레드에 유용한 정보를 포함하지 마십시오. 이러한 경우 프로그래머는 스레드 개체에서 “FreeOnTerminate” 플래그를 설정할 수 있으며 완료되면 자체적으로 삭제됩니다. 스레드를 시작할 때 해당 프로시저가 호출됩니다. 기본 프로그램과 병렬로 실행됩니다. 그것을 작성해 봅시다. 보시다시피 WaitForSingleObject라는 Windows 함수를 호출하여 스레드가 여전히 실행되고 있는지 확인합니다. 이 함수는 스레드가 작동이 완료되거나 시간 초과가 경과할 때까지 대기하며 시간 초과를 0으로 지정하면 스레드가 아직 끝나지 않은 경우 즉시 존재합니다. 다른 방법은 메시지를 기반으로합니다. 기능을 사용하면 결과를 기다리지 않고 시스템의 모든 스레드에 메시지를 전달할 수 있습니다. 메시지는 수신 스레드의 메시지 큐에 그대로 배치되고 수신 스레드가 생후로 연결될 때까지 그대로 유지됩니다. 이 때 메시지가 처리됩니다.

그 동안 스레드가 계속 실행됩니다. 스레드는 일부 스레딩 코드를 작성하고 스레드 및 아웃에 대한 경험을 얻을 때까지 다소 압도적입니다. 이 문서에서는 스레딩 및 동기화 기술을 소개합니다. Windows API 호출을 사용하여 실제로 작동하는 방법을 보여 드리겠습니다.

Posted in Uncategorized