1
가 나는 TThread이이 방법 asynchron 호출 할 때, 그것은 다음 함수를 호출합니다 스레드는
//------------------------------------------------------------------------------
procedure TfrImageShow.Load(bmBitmap:TBitmap);
begin
self.bmBitmapCopy.Width:=bmBitmap.Width;
self.bmBitmapCopy.Height:=bmBitmap.Height;
self.bmBitmapCopy.Canvas.Draw(0,0,bmBitmap);
end;
그리고 실행에 내 스레드
이 메소드를 호출을하고, 시간이 지나면 그 시스템 자원이 부족합니다. 이유는 비트 맵이 VCL 구성 요소가 아니기 때문입니다. 그것은 또한 중요 섹션을 사용 는 중요 섹션은 (내가 다른 스레드가없는 사실을 언급) 유용한 경우도TThread.execute
begin
....
csCriticalSection.Enter;
frImage.Load(bmBitmap);
csCriticalSection.Leave;
....
end;
나는 질문이 있습니다 만, 때로는 응용 프로그램 스레드는 보호
동기화는 매개 변수없는 방법 만 사용합니다. – NGLN
@NGLN, 익명 메소드를 사용하여 매개 변수 호출을 해결하는 예제로 답변을 업데이트했습니다. 감사. –
@NGLN 및 매개 변수와 동기화하기 위해 스레드 메소드를 사용하는 또 다른 예입니다. –