Java分布式锁之数据库方式实现
之前的文章《Java分布式锁实现》中列举了分布式锁的3种实现方式,分别是基于数据库实现,基于缓存实现和基于zookeeper实现。三种实现方式各有可取之处,本篇文章就详细讲解一下Java分布式锁之基于...
C# 基础
本文是一个菜鸟所写,本文面向的人群就是像我这样的小菜鸟,工作一年也辛辛苦苦学习了一年,一直没有机会梳理一下自己的知识,最近花了一些时间整理了一些C#基础知识,也算是对过去的一年做个回顾把~文章有点长,...
集群式游戏服务器架构方案设计开发
自从2003年开发VOIP Radius Server以及修改Gnugk以来,从事服务器开发已经近五年了,对服务器开发也有一些自己独到的看法以及见解。当摆脱了技术本身的束缚之后,才理解重要的并不是某种...
Linux(内核剖析):26---中断下半部之(工作队列机制(workqueue_struct、cpu_workqueue_struct))
一、工作队列概述工作队列(work queue)是另外一种将工作推后执行的形式,它和我们前面讨论的所有其他形式都不相同。工作队列可以把工作推后,交由一个内核线程去执行——这个下半部分总是会在进程上下文...
FutureTask源码分析
Runnable任务类在提交的时候我们并不能检测到运行结果,也不能抛出异常供上层代码捕捉,这个时候就需要有一些标准的阻塞库,能让我们得到结果前阻塞,并且能捕捉异常。FutureTask就是这样一个阻塞...
Linux内核线程
内核线程和普通的进程间的区别在于内核线程没有独立的地址空间,它只在 内核空间运行,从来不切换到用户空间去;并且和普通进程一样,可以被调度,也可以被抢占。一 线程的创建struct task_struc...
解析Linux内核的同步与互斥机制(七)
5.3 手工休眠的具体函数执行流特殊睡眠要求程序员手动处理所有上面的步骤. 它是一个繁琐的过程, 包含相当多的易出错的样板式的代码. 程序员如果愿意还是可能用那种方式手动睡眠。(1)创建和初始化一个等...
第十章:Cassandra监控--Cassandra:The Definitive Guide 2nd Edition
在本章中,您将学习如何使用各种工具来监视和了解Cassandra集群生命周期中的重要事件。我们将看一些简单的方法来查看正在发生的事情,例如更改日志记录级别和了解输出。Cassandra还具有对Java...
Tomcat处理HTTP请求源码分析(下)
很多开源应用服务器都是集成tomcat作为web container的,而且对于tomcat的servlet container这部分代码很少改动。这样,这些应用服务器的性能基本上就取决于Tomcat...