Jacquelyn38 Jacquelyn38
4年前
解决进程死锁——银行家算法透析
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。避免死锁算法中最有代表性的算法是DijkstraE.W于1968年提出的银行家算法:下面我们将从例题中一点一点的分析:解题:第一步:
分布式id如何生成
1.UUID生成通过网卡、时间、随机数来保证生成的唯一的字符串。优点:(1)本地生成,生成简单(2)速度快(3)高可用;缺点:(1)无序,如果存入mysq,影响B的操作性能,因为B树是需要排序的;(2)占用空间较大(36个
佛系码 佛系码
4年前
Redis实现分布式锁
一、redis分布式锁的简易实现用redis实现分布式锁是一个老生常谈的问题了。因为redis单条命令执行的原子性和高性能,当多个客户端执行setnx(相同key)时,最多只有一个获得成功。因此在对可用性要求不是特别高的场景下,redis分布式锁方案不失为一个性价比高的实现。1.多个客户端执行setnxlock
待兔 待兔
4年前
Golang泛型编程初体验
序言众所周知,Golang中不支持类似C/Java中的标记式泛型,所以对于常用算法,比如冒泡排序算法,有些同学容易写出逻辑上重复的代码,即整型是第一套代码,字符串型是第二套代码,用户自定义类型是第三套代码。重复是万恶之源,我们当然不能容忍,所以要消除重复,使得代码保持在最佳的状态。本文通过一个实际使用的简单算法的演进过程,初次体验了Golan
Wesley13 Wesley13
3年前
LCN分布式事务框架
框架特点1.支持各种基于spring的db框架2.兼容springcloud、dubbo3.使用简单,代码完全开源4.基于切面的强一致性事务框架5.高可用,模块可以依赖dubbo或springcloud的集群方式做集群化,TxManager也可以做集群化使用示例分布式事务发起方:@Overrid
Stella981 Stella981
3年前
Nepxion分布式RPC框架
NepxionThuder(QQ1394997)代码基地:https://github.com/Nepxion(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2FNepxion)介绍文档:http://nepxion.iteye.com/(ht
Stella981 Stella981
3年前
Flink的分布式缓存
分布式缓存Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。此缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3),通过ExecutionEnvironment注册缓存文件并为它起一个名称。
Stella981 Stella981
3年前
KTV歌曲推荐
前言上一篇写了推荐系统最古老的的一种算法叫协同过滤,古老并不是不好用,其实还是很好用的一种算法,随着时代的进步,出现了神经网络和因子分解等更优秀的算法解决不同的问题。这里主要说一下逻辑回归,逻辑回归主要用于打分的预估。我这里没有打分的数据所以用性别代替。这里的例子就是用歌曲列表预判用户性别。什么是逻辑回归逻辑回归的资料比
Stella981 Stella981
3年前
Redis高可用分布式
阅读目录:1.高可用(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fmushroom%2Fp%2F4752962.html%23one)2.数据同步(https://www.oschina.net/action/GoToLi
hashgame776 hashgame776
2年前
哈希竞猜游戏算法原理及特性说明hashgame776
PoH作为一种新的共识算法近期受到了较大的关注,而PooI验证池和PBFT则是联盟链和私链中较为常见的共识算法。1、PoH:即历史时间证明算法,旨在通过将时间本身编码到区块链中来减轻处理块中网络节点的负载。PoH采用创新的分片式时钟,将时间和状态解耦。简单来说就是将全局的时间链和每个区块的时间链分开,状态的更新不再需要全局时间的同步。PoH通过引入一个名叫信