Linux C++通讯架构【六】:多线程服务业务处理逻辑

  • 业务逻辑线程:

    • 和系统线程概念不一样,用户线程和系统线程有1:n、m:n、1:1,Linux和windows一般都用的1:1模型,执行效率块,但有最大线程限制。

    • iocp(windows)启动时就会开启cpu*2+2个线程,这是操作系统的线程,和业务处理(充值、抽卡)无关。

  • 主线程往消息队列扔包,其他线程从里面取走这个包(互斥)
    • posix线程:标准化的线程标准,说白了就是一堆我们可以调用的函数,一般是以pthread_开头=》posix库并不是Linux默认的库

    • 所以编译的时候,makefile要指令 -lpthread

  • 线程池:

    • 结构:消息队列、消息队列计数器、消息队列互斥量

    • 线程操作:

      • 向消息队列添加包:一个主线程(也要先加互斥锁),要告诉线程池来干活

      • 从消息队列拿包:多个子线程,先加互斥锁(也就是初始化互斥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值