[软件]Delphi中多线程中的几点心得

1.  一个线程(包括主线程)只能做一件事,如果一个线程中同时要处理两件事,就得把其中一件放入新开的线程中。

2. 多线程编程和单线程有很大的不同,多线程中要处理线程同步的事情,但是线程需要处理同步的工作远比表面看上去的要多得多。(VCL,三方控件等)

3. 线程同步处理不好就会出现各种死机、溢出和奇奇怪怪的错误。

4. 在线程中更新主线程的VCL控件一定要记得放在Synchronize函数中。

5. Synchronize函数作为参数的函数是不能带参数的。

6. 在多线程编程中,第三方控件很可能是个bug源,一定要注意,尽管他们在单线程中工作的非常好。

7. 线程不能同时操作两个或者两个以上的窗体,否则程序的消息循环会乱掉。

8. 如果线程要操作除MainForm以外的窗体,请用消息传递给MainForm然后让MainForm对另外的窗体做Show或者Hide或者其他操作。

9. 消息传递在多线程程序编写中非常重要。

10.一个程序(或者叫进程)中只能有一个临界区,如果定义两个临界区则第二个或者更多的是无效的,同事如果尝试删除第二个或者更多个的临界区时会报错误。(delphi7)

 

你可能感兴趣的:(Delphi)