多线程的问题
主程序中:com_thread =new ComThread( false );建立了另一个线程,
主程序中有个Memo,子线程中有个死循环通过主程序Memo的一个全局变量不断的向Memo中添加字符串,主程序中有个按钮是来控制Memo中显示的是字符串还是HEX,我的做法是在按钮被按下时去改变现有内容,子线程中通过一个全局变量能得知要添加的形式,这样子如果正常操作是没问题的,但如果快速按按钮在"字符串"和"HEX"之间切换时显示就会乱了,我分析可能是主程序和子线程同时访问Memo造成的,看过线程方面的例子,要注意保护和同步,我也用了TCriticalSection和TEvent,但都容易死机,可能我用的方法不对,还有懂的朋友指点一下.
[解决办法]
可以使用消息, 不过我以前实验过,线程向主窗口发送消息是可以的,但是,PostThreadMessage 很难成功,不知道我试的对不对
[解决办法]
用自定义的Windows消息来做跨线程调用
[解决办法]
Synchronize()同步一下?不知道这个同步会不会起作用,楼主可以试一下。
用postMessage的话会不会有延时啊。