祈网网站建设网站建设有哪些名词

张小明 2025/12/26 20:00:47
祈网网站建设,网站建设有哪些名词,市场调研方法有哪几种,网络维修电话线程的互斥和同步是多线程编程的核心问题#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进行投诉反馈,一经查实,立即删除!

事业单位门户网站建设评价wordpress使用百度云存储

第一章:Open-AutoGLM 怎么部署在自己电脑上部署 Open-AutoGLM 到本地计算机需要准备合适的运行环境,并按照标准流程安装依赖与模型组件。整个过程适用于具备基础命令行操作能力的用户,支持主流操作系统如 Linux、macOS 以及 Windows&#xff…

张小明 2025/12/24 11:24:44 网站建设

网站浏览图片怎么做威海网站推广

在当今移动应用安全威胁日益严峻的环境下,Play Integrity API Checker作为一款革命性的Android设备完整性检测工具,为开发者提供了简单高效的解决方案。这个开源项目通过Google官方API,让设备完整性验证变得触手可及。 【免费下载链接】play-…

张小明 2025/12/25 15:40:43 网站建设

怎么建立企业网站平台商标免费设计

一、什么是“长连接”(Long-lived Connection) 长连接指客户端与服务端建立连接后,在较长时间内保持不关闭,用于多次通信或持续数据流传输。 核心目标: 降低频繁建连/断连的开销(TCP / TLS)实现…

张小明 2025/12/25 15:41:26 网站建设

网站建设企业如何为公司建设wordpress 主题盗

微信自动化工具wxauto让Windows版微信的自动化操作变得简单高效。无论你是想要实现自动消息回复、文件批量发送,还是构建智能机器人,这个开源项目都能为你提供强大的支持。本文将从安装配置到实战应用,为你提供完整的解决方案。 【免费下载链…

张小明 2025/12/25 17:12:15 网站建设

农场理财网站建设使用网站模板快速建站教案

1. 摘要 VirtualLab Fusion包括一系列建模方法便于用户可以地调整光学仿真的精度级别和时间。不仅如此,这种功能还有助于隔离物理原因产生的不同影响。在本示例中,我们提出了一个清晰的工作流程配置一个仿真,以便在物理光学模拟中考虑或忽略…

张小明 2025/12/25 17:29:05 网站建设