Jacquelyn38 Jacquelyn38
4年前
解决进程死锁——银行家算法透析
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。避免死锁算法中最有代表性的算法是DijkstraE.W于1968年提出的银行家算法:下面我们将从例题中一点一点的分析:解题:第一步:
待兔 待兔
4年前
Golang泛型编程初体验
序言众所周知,Golang中不支持类似C/Java中的标记式泛型,所以对于常用算法,比如冒泡排序算法,有些同学容易写出逻辑上重复的代码,即整型是第一套代码,字符串型是第二套代码,用户自定义类型是第三套代码。重复是万恶之源,我们当然不能容忍,所以要消除重复,使得代码保持在最佳的状态。本文通过一个实际使用的简单算法的演进过程,初次体验了Golan
Stella981 Stella981
3年前
SpreadJS 纯前端表格控件应用案例:Teammark知识管理库
由三节课研发的Teammark系统,基于SpreadJS二次开发实现,采用行业优秀的工作方法,以Excel模板作为基本的文档范例,满足了客户在线编辑Excel文档的刚性需求。下面,让我们一起来看看三节课是如何在“Teammark系统”中应用表格技术,实现多人实时协作与“表格文档协同编辑(https://www.oschina.net/action
Stella981 Stella981
3年前
Gitolite 构建 Git 服务器
如果不是要和他人协同开发,Git根本就不需要架设服务器。Git在本地可以直接使用本地版本库的路径完成git版本库间的操作。但是如果需要和他人分享版本库、协作开发,就需要能够通过特定的网络协议操作Git库。Git支持的协议很丰富,架设服务器的选择也很多,不同的方案有着各自的优缺点。 HTTPGITDAEM
Stella981 Stella981
3年前
Linux下DES安全通信编程
des.h///文件名:des.h/功能: 实现DES加密算法的加密解密功能    for linux/
Wesley13 Wesley13
3年前
Java设计模式(一)
Structuralpatterns结构型模式1.适配器模式(Adaptor)目的:将某个类/接口转换为client期望的其他形式。适配器让类可以协同工作,否则就会因为不兼容的接口而无法工作。通过增加一个接口,将已存在的子类封装起来,client面向接口编程,从而隐藏了具体子类。假设我们有一个MediaPlayer接口和一个实现了
Easter79 Easter79
3年前
Tomcat集群方案
一、需求多个tomcat要一起协同工作有几种办法,可以考虑的方案有以下几个:1\.使用tomcat自带的cluster方式,多个tomcat间自动实时复制session信息,配置起来很简单。但这个方案的效率比较低,在大并发下表现并不好。2\.利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,
hashgame776 hashgame776
3年前
哈希竞猜游戏算法原理及特性说明hashgame776
PoH作为一种新的共识算法近期受到了较大的关注,而PooI验证池和PBFT则是联盟链和私链中较为常见的共识算法。1、PoH:即历史时间证明算法,旨在通过将时间本身编码到区块链中来减轻处理块中网络节点的负载。PoH采用创新的分片式时钟,将时间和状态解耦。简单来说就是将全局的时间链和每个区块的时间链分开,状态的更新不再需要全局时间的同步。PoH通过引入一个名叫信