获得徽章 0
形成死锁的四个必要条件
1. 互斥条件
2. 请求与保持条件
3. 不剥夺条件
4. 环路等待条件
互斥条件是指进程对所分配到的资源进行排它性使用。说白了就是在一段时间内,某个资源每次只能被一个进程所占用。
请求与保持条件是指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放,说人话就是“有了碗里的饼,还嚷嚷着要吃锅里的汤”。
不剥夺条件是指进程已获得的资源在未使用完之前,不能被剥夺,只能由自己释放,说人话就是“自己拿到了就不给别人用,自己用完了才给别人”。
环路等待条件是指当发生死锁时,必然存在着一个资源的请求环形链,若干进程在这个环形链中循环等待。
避免死锁有以下几种常见的策略:
● 设置获得锁的超时时间
● 避免长事务
● 避免事务中的用户交互
● 降低隔离级别
展开
评论
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。是恢复和并发控制的基本单位。
事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
展开
1
视图的特点:
1.视图是一个虚表,
2.视图就是封装了一条复杂查询的sql语句集,
3.它与真实表保持同步,也就是修改视图会影响真实表,修改真实表也会影响视图,
4.视图可以屏蔽一些敏感信息,起到安全的作用,
5.视图可以简化复杂查询,
6.视图也很方便,对于一个特定的操作,不用重新编写sql语句。
总结:视图多数情况下是用来查询的,尽量不要修改视图,因为会导致真实表的数据发生变化,导致错误
展开
评论
视图的好处:
•重用sql语句
•简化复杂的sql操作,不必知道它的查询细节
•保护数据,提高安全性
评论
node.js:开发服务器端的应用
electron,react:开发客户端的应用
WebRTC:P2P在线传输,实现多人会议
WebGL:3D
WebASSEMBLY:编译C++,RUST等语言能再浏览器中运行
评论
时隙ALOHA协议的工作原理和特点
基本思想:把信道时间分成离散的时间槽,槽长为一个帧所需的发送时间。每个站点只能在时槽开始时才允许发送。其他过程与纯ALOHA协议相同。
信道效率:冲突危险区是纯ALOHA的一半,所以与纯ALOHA协议相比,降低了产生冲突的概率,信道利用率最高为36.8%。
重发策略:同纯ALOHA ,等待一段随机的时间,然后重发;如再次冲突,则再等待一段随机的时间,直到重发成功为止。
代价:需要全网同步;可设置一个特殊站点,由该站点发送时钟信号
展开
评论
数据库的完整性是保护数据库中的数据的正确性,有效性,相容性。
并发控制是为了防止多个用户同时存取同一数据,造成的数据不一致。
数据库恢复是指将数据库从错误的状态恢复到某一已知的正确的状态。
评论
SSR指的是服务端渲染(Server-side Rendering),是在服务器端渲染网页内容,并且将渲染后的HTML发送给浏览器,而不是在浏览器端渲染。这种技术的优点在于更快的首屏加载速度和更好的搜索引擎优化(SEO)。相比较于客户端渲染,SSR能够提高用户的使用体验。
注意:对于复杂的页面,服务器端渲染可能会带来性能问题,因此需要谨慎考虑是否使用。
展开
评论
一天一个小知识点:
0.1+0.2 不等于 0.3 ,因为在 0.1+0.2 的计算过程中发生了两次精度丢失。第一次是在 0.1 和 0.2 转成双精度二进制浮点数时,由于二进制浮点数的小数位只能存储52位,导致小数点后第53位的数要进行为1则进1为0则舍去的操作,从而造成一次精度丢失。第二次在 0.1 和 0.2 转成二进制浮点数后,二进制浮点数相加的过程中,小数位相加导致小数位多出了一位,又要让第53位的数进行为1则进1为0则舍去的操作,又造成一次精度丢失。最终导致 0.1+0.2 不等于0.3 。
展开
评论
下一页
个人成就
文章被点赞 1
文章被阅读 580
掘力值 54
收藏集
0
关注标签
11
加入于