做博客用什么系统做网站好网站建设排期

张小明 2026/1/1 9:02:03
做博客用什么系统做网站好,网站建设排期,wordpress 苏醒 cosy,wordpress小程序配置线程的互斥和同步是多线程编程的核心问题#xff0c;用于解决资源竞争和执行时序协调的问题#xff0c;确保多线程程序的正确性、稳定性和可预测性。核心概念铺垫临界区#xff08;Critical Section#xff09;#xff1a;多个线程共享的资源#xff08;如全局变量、硬件…线程的互斥和同步是多线程编程的核心问题用于解决资源竞争和执行时序协调的问题确保多线程程序的正确性、稳定性和可预测性。核心概念铺垫临界区Critical Section多个线程共享的资源如全局变量、硬件设备、文件句柄或操作这些资源的代码段同一时间只能被一个线程执行否则会引发数据错乱如 “脏读”“重复写”。竞态条件Race Condition多个线程同时访问临界区且执行顺序不可控导致程序输出结果依赖于线程调度顺序的错误现象是互斥要解决的核心问题。互斥1.定义互斥是指禁止多个线程同时进入同一临界区保证临界区的 “排他性访问”本质是解决 “资源竞争” 问题。简单说互斥是 “不许同时干”核心是 “抢资源” 的问题。2. 常见实现方式1互斥锁Mutex最常用的互斥机制本质是一个 “锁标记”线程进入临界区前加锁lock如果锁未被占用成功加锁并进入如果已被占用线程阻塞等待直到锁被释放。线程离开临界区后解锁unlock释放锁让等待的线程竞争获取。互斥的使用步骤:定义互斥锁 》初始化锁》加锁》解锁》销毁特性互斥锁是 “非递归” 的默认同一线程重复加锁会导致死锁。支持 “公平 / 非公平” 调度公平锁按等待顺序唤醒线程非公平锁随机唤醒效率更高。2自旋锁Spin Lock与互斥锁的区别线程获取不到锁时不阻塞而是循环自旋检查锁是否释放直到获取到锁。适用场景临界区执行时间极短如几纳秒避免线程上下文切换的开销。缺点自旋会占用 CPU 资源临界区耗时过长时会导致 CPU 利用率飙升。3其他互斥机制信号量Semaphore初始值为 1 的信号量可作为互斥锁二值信号量原子操作Atomic对简单数据类型如 int、bool的操作通过 CPU 指令保证原子性无需加锁效率更高。特性互斥锁是 “非递归” 的默认同一线程重复加锁会导致死锁。支持 “公平 / 非公平” 调度公平锁按等待顺序唤醒线程非公平锁随机唤醒效率更高。相关函数1、定义pthread_mutex_t mutex;2、初始化锁int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mutexattr_t *attr);功能将已经定义好的互斥锁初始化。参数mutex要初始化的互斥锁atrr初始化的值一般是NULL表示默认锁返回值成功0失败 非零3、加锁int pthread_mutex_lock(pthread_mutex_t *mutex);功能用指定的互斥锁开始加锁代码加锁后的代码到解锁部分的代码属于***原子操作***在加锁期间其他进程/线程都不能操作该部分代码如果该函数在执行的时候mutex已经被其他部分使用则代码阻塞。参数mutex用来给代码加锁的互斥锁返回值成功0失败 非零原子操作 在线程的一次调度中这段代码必须完成不能发生线程调度。4、解锁int pthread_mutex_unlock(pthread_mutex_t *mutex);功能将指定的互斥锁解锁。解锁之后代码不再排他访问一般加锁解锁同时出现。参数用来解锁的互斥锁返回值成功0失败 非零5、销毁int pthread_mutex_destroy(pthread_mutex_t *mutex);功能使用互斥锁完毕后需要销毁互斥锁参数mutex要销毁的互斥锁返回值成功0失败 非零同步1. 定义同步是指协调多个线程的执行顺序让线程按预期的时序执行比如 “A 线程执行完某步后B 线程才能执行”本质是解决 “执行时序” 问题。简单说同步是 “按顺序干”核心是 “等通知” 的问题。步骤信号量的定义 》信号量的初始化》信号量的PV操作》信号量的销毁。2. 常见实现方式1条件变量Condition Variable条件变量结合互斥锁使用实现 “线程等待某个条件满足后再执行”。核心操作wait()线程阻塞释放锁、notify_one()/notify_all()唤醒等待的线程。2信号量Semaphore信号量可实现更灵活的同步计数信号量初始值为 N表示最多允许 N 个线程同时访问资源同步信号量初始值为 0实现 “生产者 - 消费者” 等时序协调生产者生产后post消费者wait后消费。3屏障Barrier屏障让多个线程在某个点 “同步等待”直到所有线程都到达该点后再继续执行。适用场景多线程分阶段任务如 “所有线程完成初始化后再执行核心逻辑”。相关函数1、信号量的定义 sem_t sem;2、信号量的初始化int sem_init(sem_t *sem, int pshared, unsigned int value);功能将已经定义好的信号量赋值。参数sem要初始化的信号量pshared 0 ;表示线程间使用信号量pshared ! 0 ;表示进程间使用信号量value信号量的初始值一般无名信号量都是二值信号量0 10表示红灯进程暂停阻塞1表示绿灯进程可以通过执行返回值成功0失败-13、信号量的PV操作P 》申请资源》申请一个二值信号量V 》释放资源》释放一个二值信号量P操作对应函数》sem_wait();V操作对应函数》sem_post();int sem_wait(sem_t *sem);功能判断当前sem信号量是否有资源可用。如果sem有资源(1)则申请该资源程序继续运行 。如果sem没有资源(0)则线程阻塞等待一旦有资源则自动申请资源并继续运行程序。注意sem申请资源后会自动执行sem sem - 1;参数sem要判断的信号量资源返回值成功0失败-1int sem_post(sem_t *sem);功能函数可以将指定的sem信号量资源释放并默认执行sem sem1; 线程在该函数上不会阻塞。参数sem要释放资源的信号量返回值成功0失败-14、信号量的销毁int sem_destroy(sem_t *sem);功能使用完毕将指定的信号量销毁参数sem要销毁的信号量返回值成功0失败-1互斥和同步的区别1.互斥锁加锁和解锁 是同一个线程信号量(同步)th1释放th2, th2释放th1.是由线程交叉释放。2.在互斥锁保护的代码中(临界区)。不要休眠不要大耗时的操作。临界区代码短小精悍信号量适当可以有休眠小的耗时操作。用法 计数信号量 。信号量的初值(3,5)是可以大于1的。 这种情况用于互斥的情况资源数本身不唯一(多个资源);互斥同步核心目标解决资源竞争排他访问解决执行时序协调顺序关注点临界区的 “独占性”线程间的 “依赖性”典型场景多线程修改同一变量生产者 - 消费者、等待通知实现基础互斥锁、自旋锁、原子操作条件变量、信号量、屏障死锁定义由于锁资源安排的不合理(锁资源的申请和释放逻辑不对)导致进程线程无法正常继续执行(推进)的现象。产生死锁的四个必要条件互斥条件一个资源每次只能被一个进程使用。请求与保持条件一个进程因请求资源而阻塞时对已获得的资源保持不放。不剥夺条件:进程已获得的资源在末使用完之前不能强行剥夺。循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

北京京西建设集团网站温州谷歌优化公司

strstr() 是 C 标准库中用于字符串查找的核心函数,作用是在一个字符串(主串)中查找另一个字符串(子串)的首次出现位置,返回指向该位置的指针;若未找到则返回 NULL。一、核心定义1. 函数原型与头…

张小明 2025/12/31 1:12:42 网站建设

html5制作手机网站教程wordpress 浏览次数 2

手机秒变高清摄像头:用 DroidCam 搭建低成本、高画质的 Windows 视频输入方案 你是否经历过这样的尴尬时刻?——参加重要线上会议时,笔记本自带的摄像头拍出的画面模糊、背光严重,连自己的脸都看不清;或是做直播教学时…

张小明 2025/12/31 1:12:00 网站建设

主域名进入网站如何在百度上推广业务

(204)使用 SceneCapture2D 相机的动画制作 :图形化解释里面的要点 : 以及 :(205) 第四步,完善 屏幕按钮的功能,在程序里启动动画 :(206&#xff0…

张小明 2025/12/31 1:11:23 网站建设

怎么在百度提交自己的网站网站用模板为什么不利于seo推广

Stable Diffusion v2-1-base是由Stability AI开发的最新文本到图像生成模型,专为AI绘画初学者设计。这款模型在继承前代优秀性能的基础上,通过220k额外训练步骤进一步优化了生成质量,让每个人都能轻松创作出令人惊艳的AI艺术作品。 【免费下载…

张小明 2025/12/31 1:10:42 网站建设

威海住房和城乡建设局网站首页数据分析师课程

AI时代你不拥抱它,就得不到它的爱,信不信由你 凌晨三点,你还在与一段顽固的代码搏斗,而隔壁工位的老王,早已用AI生成完整模块,正悠然地刷着短视频——这,就是拥抱与否的残酷分野。 一、幻想与现…

张小明 2025/12/31 1:10:07 网站建设

制作网站注意哪些问题eclipse 制作网站开发

SELinux策略构建与对象标签管理全解析 1. Apol工具与对象标签探索 Apol目前具备两大核心功能,用于深入理解对象标签:规则搜索以及文件安全上下文的索引和搜索。规则搜索功能在之前已有相关探讨,而这里着重介绍文件安全上下文的索引与搜索。 Apol的“File Contexts”选项卡…

张小明 2025/12/31 1:09:00 网站建设