Jacquelyn38 Jacquelyn38
3年前
解决进程死锁——银行家算法透析
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。避免死锁算法中最有代表性的算法是DijkstraE.W于1968年提出的银行家算法:下面我们将从例题中一点一点的分析:解题:第一步:
Wesley13 Wesley13
3年前
java多线程常见问题
Java多线程是什么Java提供的并发(同时、独立)处理多个任务的机制。多个线程共存于同一JVM进程里面,所以共用相同的内存空间,较之多进程,多线程之间的通信更轻量级。依我的理解,Java多线程完全就是为了提高CPU的利用率。Java的线程有4种状态,新建(New)、运行(Runnable)、阻塞(Blocked)、结束(Dead),关键就在于阻塞(Bl
Stella981 Stella981
3年前
SpringBoot如何优雅的使用RocketMQ
目录SpringBoot如何优雅的使用RocketMQ什么是RocketMQ?RocketMQ环境安装SpringBoot环境中使用RocketMQSpringBoot如何优雅的使用RocketMQMQ,是一种跨进程的通信机制,用于上下游传递消息。在传统的互联网架构中通常使用M
Stella981 Stella981
3年前
Linkis架构解析系列(一)——Linkis RPC架构解析
“为了提升Linkis的高并发能力,Linkis基于微服务架构,在Feign的基础之上,实现了一套自己的底层RPC通信方案,用以提升微服务间的通信性能和并发能力。”基于Feign的微服务之间HTTP接口调用,只能满足简单的A微服务实例根据简单的规则随机访问B微服务之中的某个服务实例,而这个B微服务实例如果想异步回传信
Easter79 Easter79
3年前
SpringBoot如何优雅的使用RocketMQ
目录SpringBoot如何优雅的使用RocketMQ什么是RocketMQ?RocketMQ环境安装SpringBoot环境中使用RocketMQSpringBoot如何优雅的使用RocketMQMQ,是一种跨进程的通信机制,用于上下游传递消息。在传统的互联网架构中通常使用M
Wesley13 Wesley13
3年前
GO语言网络编程
socket编程Socket是BSDUNIX的进程通信机制,通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。Socket可以理解为TCP/IP网络的API,它定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。电脑上运行的应用程序通常通过”套接字”向网络发出请求或者应答网络请求。Socke
Stella981 Stella981
3年前
Event事件
07.07自我总结Event事件一.导入模块fromthreadingimportEvent二.概念线程间状态同步:即将一个任务丢到子进程中,这个任务将异步执行,如何获取到这个任务的执行状态注意:执行状态和执行结果不是同一个概念,异步回调拿到的是任务
Stella981 Stella981
3年前
Service Mesh 及其主流开源实现解析(转)
什么是ServicemeshServiceMesh直译过来是 服务网格,目的是解决系统架构微服务化后的服务间通信和治理问题。服务网格由sidecar节点组成。在介绍servicemesh之前,我们先来看一下什么是sidecar.!(https://ws1.sinaimg.cn/large/
Stella981 Stella981
3年前
PostgreSQL
内存上下文背景:需要经常处理大量以指针传值的查询,存在内存泄漏的问题,直到查询结束才能收回内存。所以实现了新的内存管理机制内存上下文(MemoryContext)内存上下文通俗解释:一个内存上下文相当于一个进程环境,进程环境间不互相影响,pgSQL提供了在内存上下文进行内存操作的函数:pallloc、pfree、repalloc
Stella981 Stella981
3年前
Android模块化初体验及教程(二)
上一章初级体验了一下模块化,但是还是有很多需要优化和改进的地方思考点:怎么单独运行某一个子模块,不影响到其他模块之间的依赖?子模块需要Application,难道要每个模块写一个?因为是同一个服务器,所以网络请求库,怎么跨模块间公用?模块间怎么通信?解决将项