我在TIdTCPServer :: Execute方法中有VCL代码需要同步,我该怎么做?
ec2:DescribeImages
代码不会出乎意料地定期死锁。
答案 0 :(得分:0)
此代码中的任何内容都不需要通过Synchronize委派给主UI线程。
但是,在工作线程中使用HDC
时,在使用它时需要Lock()
,否则主UI线程会在后台干扰它(更新:具体来说,主UI线程经常释放属于未锁定 TBitmap.Canvas
和TControlCanvas
对象的TCanvas
,甚至是工作线程使用的对象如果你自己使用TCanvas
,你就可以了。
或者,只需将document.onclick = myFunction;
function myFunction() {
window.location.assign("google.com")
}
替换为相应的Win32 API函数调用(CreateFontIndirect()
,GetTextExtentPoint32()
),然后您就不必担心锁定任何内容。