KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 293|回复: 3

ThreadPool类addTask函数的一段代码疑问?

[复制链接]

13

主题

27

帖子

261

积分

中级会员

Rank: 3Rank: 3

积分
261
发表于 2018-5-18 18:16:12 | 显示全部楼层 |阅读模式
for(uint32 i=0; i<extraNewAddThreadCount_; ++i)
{
    bool threadStartsImmediately = i > 0;

    // 设定5分钟未使用则退出的线程
    TPThread* tptd = createThread(ThreadPool::timeout, threadStartsImmediately);
    if(!tptd)
    {
#if KBE_PLATFORM == PLATFORM_WIN32        
        ERROR_MSG("ThreadPool::addTask: the ThreadPool create thread error! ... \n");
#else
        ERROR_MSG(fmt::format("ThreadPool::addTask: the ThreadPool create thread error:{0}\n",
            kbe_strerror()));
#endif               
    }
   
    ...
}

这里判断了tptd为null情况下输出打印,但是没有中断执行,那么...之后的代码用到tptd的时候就会出问题。。。



回复

使用道具 举报

5

主题

3497

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2018-5-19 10:28:22 | 显示全部楼层
算是一个不谨慎问题吧, 不过从代码来看几乎没有可能为null。 除非内存分配失败, 那整个程序已经可能会崩溃了
QQ:3603661
3603661@qq.com
回复

使用道具 举报

1

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2018-6-30 13:34:40 | 显示全部楼层
大兄弟,format会不会引起性能问题?看介绍是说format有点重
回复

使用道具 举报

5

主题

3497

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2018-7-2 18:03:27 | 显示全部楼层
自己压测
QQ:3603661
3603661@qq.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2018-12-10 18:42 , Processed in 0.037748 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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