关于多线程的一个具体问题的求教

rzdir197825 2000-09-06 09:58:00
我编写了一个邮件检测程序,我想实现多帐号的同时检测.
我个人的理解是每建立一个帐号就建立一个线程,只是未启动,
当选择多帐号同时检测时,就启动已建立的线程.并且我感觉多线程有些象过程调用,
只是多了同步等技术以避免死锁等现象,不知我的理解对不对.
另外请问'synchronize,waitfor,临界段,互斥对象'这几个技术的区别,
在我的程序中使用哪种比较好?
...全文
121 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rzdir197825 2000-09-07
  • 打赏
  • 举报
回复
请大家继续,多谢!
JGTM2000 2000-09-06
  • 打赏
  • 举报
回复
我认为就你的应用而言,仅是收发邮件这一块儿是不必进行线程同步的(除非你所使用的收发邮件的组件或函数非线程安全)。在Delphi中提供了一个单元叫SyncObjs,里面有这几个常用线程同步对象的类封装。对你一个进程的进程内线程同步,最简单的是使用CriticalSection。用法也很简单,在线程类定义一个或多个TCriticalSection的实例(对应你需要同步的每一种情形),然后在线程的执行体访问须同步的代码之前调用TCriticalSection.Enter,后面的代码最好用try..finally保护起来并在finally区域调用TCriticalSection.Leave。

Try It!

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧