请问大家我这样对Synchronize理解对吗?
我的理解是 将方法也在其他线程序中执行
首先一个线程向线程窗体发送消息
将要同步的方法设为 设为私有域
然后线程窗体收到消息后
并将消息的指针改为指向对象本身
主线程将消息 强制转换为线程类
然后被主线程掉用来调用
实质就是把非主线程中的方法
传递给 主线程去执行
[解决办法]
你理解得太复杂了, 却没有理解到实质;
syncchronize的实质是: 线程间互锁(安全); // 主程序(窗口)也是一个线程
[解决办法]
你理解的是正确的。
临界锁定 可以让多个线程安全的访问共享的数据/代码。
要想实现syncchronize的效果,delphi这种做法是比较好的。我能想到的方法是使用Event达到同样的效果。但没有消息好。