找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4853|回复: 3

重复使用activate()会打开多个线程吗?

[复制链接]
发表于 2011-5-30 14:09:51 | 显示全部楼层 |阅读模式
int open()
{
      activate();
}


**.open();
**.open();
**.open();
是否会开三个线程?
发表于 2011-5-30 14:28:21 | 显示全部楼层
本帖最后由 lihaowei2028 于 2011-5-30 14:29 编辑

不会, activate 会直接返回 1, 表示线程已经启动.  对于代码, 你可以看一下 ace源码里  关于方法  activate 的代码   里面有这条语句   
if (this->thr_count_ > 0 && force_active == 0)
   return 1; // Already active.

备注:  前提是你的三个 **  表示的是同一个对象
 楼主| 发表于 2011-5-31 10:09:39 | 显示全部楼层
回复 2# lihaowei2028


    如果我这样:(假设在svc()中打开服务器侦听端口)
     **.close();
       **.open();
会不会无效,比如客户端端口连接不上的问题?
 楼主| 发表于 2011-6-1 11:31:18 | 显示全部楼层
这个不用回答了,问题跟这个没关系。已经解决了
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-4-29 18:28 , Processed in 0.011219 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表