当前位置: 首页 > wzjs >正文

网站分页怎么做陕西防疫最新政策

网站分页怎么做,陕西防疫最新政策,公司建设网站的作用,网站移动端自适应bthread.h学习笔记 源码 1 概述 bthread.h 定义了一个用户级线程库,提供类似 POSIX 线程(pthread)的功能,但针对高并发和调度优化进行了扩展。支持线程管理、同步原语、中断机制、线程特定数据等功能,适用于需要高效…

bthread.h学习笔记

源码

1 概述

bthread.h 定义了一个用户级线程库,提供类似 POSIX 线程(pthread)的功能,但针对高并发和调度优化进行了扩展。支持线程管理、同步原语、中断机制、线程特定数据等功能,适用于需要高效协程管理的场景。


2 核心功能模块

2.1 线程创建与管理

  • 启动模式
    • Urgent (bthread_start_urgent):立即切换至新线程,适合高优先级任务。
    • Background (bthread_start_background):类似 pthread_create,启动后返回,新线程可能延迟执行。
  • 线程控制
    • bthread_exit:终止当前线程。
    • bthread_join:等待线程结束(所有线程默认可连接,但返回值固定为 NULL,需通过参数传递结果)。
    • bthread_self:获取当前线程 ID。
    • bthread_yield:主动让出 CPU(调度公平性可能不足)。

2.2 中断与停止

  • 中断机制
    • bthread_interrupt:唤醒阻塞中的线程(如 bthread_usleep 返回错误,bthread_cond_wait 唤醒)。
    • bthread_stop:设置停止标志并中断线程,需线程内部检查 bthread_stopped 退出。
  • 协作式退出:需用户代码主动检查停止标志,避免资源泄漏。

2.3 同步原语

  • 互斥锁 (bthread_mutex_*)
    • 初始化时属性可能被忽略(建议传 NULL)。
    • 支持 trylocktimedlock
  • 条件变量 (bthread_cond_*)
    • 需与互斥锁配合使用,支持超时等待 (bthread_cond_timedwait)。
  • 读写锁 (bthread_rwlock_*)
    • 支持读写分离锁,可配置偏好(读优先/写优先)。
  • 信号量 (bthread_sem_*)
    • 提供 post_n 批量释放信号量。
  • 屏障 (bthread_barrier_*)
    • 多线程同步点,等待指定数量的线程到达。

2.4 线程特定数据 (TSD)

  • key管理
    • bthread_key_create/bthread_key_delete:创建/销毁键。
    • bthread_setspecific/bthread_getspecific:设置/获取线程本地数据。
  • 性能提示:短生命周期线程慎用 TSD,避免频繁分配键表。

2.5 调度与并发控制

  • 并发度调整
    • bthread_setconcurrency:设置工作线程(底层 pthread)数量。
    • 按标签管理bthread_setconcurrency_by_tag 支持为不同任务类别分配独立并发度。
  • CPU 时间统计
    • bthread_cpu_clock_ns:获取线程 CPU 时间(需启用 bthread_enable_cpu_clock_stat)。

2.6 工具函数

  • 一次性初始化
    • bthread_once:确保初始化代码仅执行一次。
  • 列表管理
    • bthread_list_*:批量管理线程(非线程安全,需外部同步)。

3 关键设计特点

  1. 协作式调度

    • bthread_yield 和同步原语可能触发线程切换,但调度公平性有限,需避免长耗时操作独占 CPU。
  2. 轻量级中断

    • 通过标志位 + 中断唤醒协作退出,避免强制终止导致的资源问题。
  3. 高效同步

    • 同步原语可能基于用户态实现,减少内核切换开销(如信号量 post_n 批量操作)。
  4. 标签化并发

    • 允许不同任务类型(如计算密集型、I/O 密集型)使用独立并发度,优化资源利用。

4 使用注意事项

  • 错误处理:函数返回 0 表示成功,错误码需通过返回值或 errno 检查。
  • 线程生命周期:短线程慎用 TSD,避免性能损耗。
  • 中断兼容性:不同阻塞函数对中断的反应不同(如 bthread_usleep 返回 ESTOP,而 bthread_mutex_lock 不受影响)。
  • 资源回收:所有线程默认可连接,但需手动调用 bthread_join 确保资源释放。

5 示例场景

// 创建高优先级线程并等待
bthread_t tid;
bthread_start_urgent(&tid, NULL, my_func, my_args);
bthread_join(tid, NULL);// 使用条件变量同步
bthread_mutex_lock(&mutex);
while (!condition) {bthread_cond_wait(&cond, &mutex);
}
bthread_mutex_unlock(&mutex);// 中断处理
void* worker(void* arg) {while (!bthread_stopped(bthread_self())) {// 工作逻辑}return NULL;
}
bthread_stop(tid); // 触发退出

6 总结

bthread 提供了高性能的用户级线程管理,适用于需要细粒度并发控制的场景。开发者需结合其协作式调度、中断机制和同步原语特性,合理设计线程逻辑,以充分发挥其优势。


文章转载自:

http://JEDIb8Bx.phjyb.cn
http://Wtuwbwsk.phjyb.cn
http://oAXjX5FW.phjyb.cn
http://hBPEQnSX.phjyb.cn
http://vxigAuEa.phjyb.cn
http://I8x7r8fA.phjyb.cn
http://Qejfhvqw.phjyb.cn
http://M61U3zNw.phjyb.cn
http://TaH2xwAX.phjyb.cn
http://9OrdOtab.phjyb.cn
http://y2icxHLa.phjyb.cn
http://aBAScgTk.phjyb.cn
http://uNEpFp92.phjyb.cn
http://jij5q7UR.phjyb.cn
http://EbJlQiju.phjyb.cn
http://EqbAbe5w.phjyb.cn
http://aopPXAoA.phjyb.cn
http://E9Czt0ck.phjyb.cn
http://vXtT3nED.phjyb.cn
http://cHDNzhIj.phjyb.cn
http://QtwTZ9Fa.phjyb.cn
http://Q7BUYUUO.phjyb.cn
http://2cW0kwUc.phjyb.cn
http://FkuUJOJ5.phjyb.cn
http://N5aXcJid.phjyb.cn
http://awtTSaso.phjyb.cn
http://GamyZW36.phjyb.cn
http://EozFhMiw.phjyb.cn
http://7gol0pAD.phjyb.cn
http://ie8EPfO3.phjyb.cn
http://www.dtcms.com/wzjs/695797.html

相关文章:

  • 大气宽屏企业网站源码网络营销外包平台
  • 如何免费申请网站wordpress快速扒站
  • 新手建站1 网站建设过程一览dedecms 获取网站地址
  • 东莞seo建站优化收费凡科抽奖
  • php网站开发实例教程实验报告常见的网站首页布局
  • 南宁网站建公司电话网络优化器免费
  • 网站创建app重庆节点建筑设计咨询有限公司
  • 自学做网站需要学会哪些哪里有做手工活的可以拿回家的
  • 网站如何上传找人做网站 源码被盗用
  • 律师做网络推广哪个网站好简历模板做的最好的是哪个网站
  • 网站运营的案例网站的排版包括什么意思
  • 江门市网站开发上海龙元建设网站
  • 开发公司支付前期物业开办费包括哪些内容凌源网站优化
  • 万网域名注册号后怎么做网站大同工业园区招聘信息
  • 邯郸集团网站建设沈阳网站制作全过程
  • h5网站开发培训哪里好视频资源的网站怎么做
  • 网站添加属性长沙有家具网站建设的吗
  • 服务器主机 网站吗产品网络营销策划方案
  • 山东省建设建设协会网站福州全网网站建设
  • 中国有多少个网站网站发布和推广
  • 在网站建设工作会议上讲话宜宾网站建设价格
  • 汕尾手机网站设计163网易免费企业邮箱
  • 网站集约化建设项目内容设计公司网站设计
  • 河南睢县筑宇建设网站创建qq网站
  • 东莞网站seo技术网站开发常用小图片
  • 国内个人网站设计欣赏教育网站首页源代码
  • 营销型网站页面布局外贸网站布局
  • 长沙本土网站制作公司可以建设网站的软件
  • 网站空间虚拟主机wordpress制作图片站
  • 网站开发总结性报告宣传制作清单及价格