网站解析后显示建设中wordpress 开放适配
news/
2025/10/4 11:30:13/
文章来源:
网站解析后显示建设中,wordpress 开放适配,网页设计的通用规则有哪些,正规专业的网站建设公同个人博客#xff1a;http://tsundere-x.top/
一、互斥
为何需要引入互斥机制#xff1f;
当多个线程对同一数据并发读写#xff08;至少有一个线程执行写操作#xff09;时#xff0c;这种情形被称为竞争。竞争会导致数据读或写的不确定性。而有时这种不确定性是不可…同个人博客http://tsundere-x.top/
一、互斥
为何需要引入互斥机制
当多个线程对同一数据并发读写至少有一个线程执行写操作时这种情形被称为竞争。竞争会导致数据读或写的不确定性。而有时这种不确定性是不可容忍的。
如何实现互斥
在并发程序设计中通常使用锁机制来实现互斥
1、由用户标记必须原子执行的代码段即使用synchronized关键字
2、给资源一把配有自动机制的锁
【注意】
Java将资源限定为引用型对象并为每一对象自动配备一把锁锁初始时处于打开状态。synchronized标记的原子代码段在访问资源前会自动检测资源对象持有的锁是否处于打开状态。若是则占用并同时将锁置为锁闭态并在该代码段执行完毕后。将锁的状态值为打开态若否则持有该代码的线程因等待资源占用而进入阻塞态。
• 只有对象才有锁对基本类型的数据无法实现线程的互斥访问。
• 对于未使用synchronized标记的代码锁机制不起作用。
• 无论正常结束还是异常退出都将自动释放锁。
死锁和活锁
死锁就是多个线程对临界资源的循环等待使得这些线程均都无法获得执行。
例如ABC三个线程分别占用D1、D2、D3三个临界资源A只有获得B占用的资源D2,方能继续运行而B只有获得C占用的资源D3方能继续运行C只有获得A占用的资源D1方能继续运行。这样A,B,C处在对资源的循环等待状态均无法前进。
活锁也称饥饿。就是某线程虽有执行的资格但由于某种原因总是得不到执行。
例如A,B,C三个线程循环访问临界资源D但AB的优先级相同但均高于C。由于Java的抢占式策略C线程可能总得不到执行。
二、同步
同步Sync
多个线程的运行满足特定的节奏
所谓同步就是发出一个功能调用时在没有得到结果之前该调用就不返回或继续执行后续操作。
根据这个定义Java中所有方法都是同步调用应为必须要等到结果后才会继续执行。我们在说同步、异步的时候一般而言是特指那些需要其他端协作或者需要一定时间完成的任务。
简单来说同步就是必须一件一件事做等前一件做完了才能做下一件事。
异步Async
多个线程的运行相互独立彼此间无依赖性
异步与同步相对当一个异步过程调用发出后调用者在没有得到结果之前就可以继续执行后续操作。当这个调用完成后一般通过状态、通知和回调来通知调用者。对于异步调用调用的返回并不受调用者控制。
举个例子简单说明下两者的区别
同步火车站多个窗口卖火车票假设A窗口当卖第288张时在这个短暂的过程中其他窗口都不能卖这张票也不能继续往下卖必须这张票处理完其他窗口才能继续卖票。直白点说就是当你看见程序里出现synchronized这个关键字将任务锁起来当某个线程进来时不能让其他线程继续进来那就代表是同步了。
异步当我们用手机下载某个视频时我们大多数人都不会一直等着这个视频下载完而是在下载的过程看看手机里的其他东西比如用qq或者是微信聊聊天这种的就是异步你执行你的我执行我的互不干扰。比如上面卖火车票如果多个窗口之间互不影响我行我素A窗口卖到第288张了B窗口不管A窗口自己也卖第288张票那显然会出错了。
并发
在操作系统中是指一个时间段中有几个程序都处于已启动运行到运行完毕之间且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥。
并行
在单处理器中多道程序设计系统中进程被交替执行表现出一种并发的外部特种在多处理器系统中进程不仅可以交替执行而且可以重叠执行。在多处理器上的程序才可实现并行处理。从而可知并行是针对多处理器而言的。并行是同时发生的多个并发事件具有并发的含义但并发不一定并行也亦是说并发事 件之间不一定要同一时刻发生。
Java的同步机制 存取共享资源的互斥机制 线程间的通信机制
用于线程通信的方法存在于Object类中包括wait()、notify()、notifyAll()。wait()会暂停当前线程的执行并释放所持有的锁进入等待状态notify()操作将唤醒一个等待的线程notifyAll()将唤醒所有等待的进程。
【注意】
wait()、notify()、notifyAll()都是final方法不允许被重写这些方法只能直接或间接地用于临界区中否则将会产生非法监控锁状态异常。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927080.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!