为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第8天 C气象数据中心 13-10 数据库连接池的优化

标签:
C++

【九月打卡】第8天 C气象数据中心 13-10 数据库连接池的优化

  • 课程信息

课程名称:C/C++气象数据中心实战,手把手教你做工业级项目

课程章节:13-8 数据库连接池的实现

主讲老师: 吴从周

  • 课程内容

使用数据库连接池的方法进行优化

  • 课程收获
    1.判断连接是否超时,使用当前时间减去 数据库连接的时间
    2.创建一个检测线程池的线程函数
    3.每一个线程,默认在共享区中占有的空间为8M,可以使用ulimit -s修改。进程是资源分配的基本单位,而线程是调度的基本单位。
    4.多线程的构建中,如果线程运行太快,主程序可能还来不及把线程的ID放入容器中,可能会出现找不到线程ID的情况,所以需要加入延迟。并且,多个线程之中, 只要有一个线程存在bug(如访问了非法地址引发的段错误) , 就会导致进程内的所有线程一起完蛋。在本程序中由于简单的创建和应用,虽然不会存在这类情况,但是在后续的学习和项目中需要加以注意。
    5.并不是只有主线程才能创建线程, 被创建出来的线程同样可以创建线程。不存在类似于fork函数那样的父子关系, 大家都归属于同一个线程组, 进程ID都相等, group_leader都指向主线程, 而且各有各的线程ID。通过group_leader指针, 每个线程都能找到主线程。主线程存在一个链表头,后面创建的每一个线程都会链入到该双向链表中。
    6.并非只有主线程才能调用pthread_detach函数, 其实任意线程都可以对同一线程组内的线程执行分离操作。

图片描述
图片描述

图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消