在kafka中,每一个broker都是一个服务器。按照一般理解,服务器就是一个SocketServer,其不断接收用户的请求并进行处理。在Java中进行网络连接有两种方式一种为阻塞模式一种为非阻塞模式。Jafka采用非阻塞模式进行网络通讯。在Java的非阻塞模式中,建立socket server的一般流程如下:
1.启动ServerSocketChannel并将其绑定到特定的端口。
2.将Se...
分类:
其他好文 时间:
2014-06-28 09:25:54
阅读次数:
235
这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续做自己的事情,实际的读写操作由系统在合适的时候调用我们程序注册的接口进行。异步编程会给一些程序猿带来一些理解和编写上的困难,...
分类:
其他好文 时间:
2014-06-28 08:27:58
阅读次数:
315
最近一直在搞Windows服务,也有了不少经验,感觉权限方面确定比一般程序要受限很多,但方便性也很多。像后台运行不阻塞系统,不用用户登录之类。哈哈,扯远了,今天讲一下那个怎么给Windows服务做个安装包。为什么做安装包?当然是方便了,不用每次调用InstallUtil,还有,就是看上去正规些。不多...
Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行。共同点:1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从...
分类:
编程语言 时间:
2014-06-27 14:13:02
阅读次数:
251
Re'entrantLock lock = new ReentrantLock(fair);
Condition
notEmpty = lock.newCondition(); //返回内部类 AbstractQueuedSyncronizer.ConditionObject
各自维护了两个队列.一个是阻塞同步队列 syncQueue 双向队列,一个是条件等待队列....
分类:
数据库 时间:
2014-06-27 09:10:37
阅读次数:
505
http://blog.csdn.net/hzhzh007/article/details/6532988“ 信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_wait的时候,就阻塞在 那里)。而互斥锁是用在多线程多任务互斥的,一...
分类:
其他好文 时间:
2014-06-27 00:28:23
阅读次数:
355
SELECT*FROM sys.sysprocesses where spid>50 and blocked>0 --可以查看阻塞 SELECT SPID=p.spid, DBName =convert(CHAR(20),d.name), ProgramName =progra...
分类:
数据库 时间:
2014-06-26 23:44:59
阅读次数:
244
服务器开发貌似有固定的模式,性能和复杂度各异,现总结下常见的模式。当然服务器的开发并没有固定的模式,除了以下总结的外,实际根据业务的不同,生产中还用过其他模式。阻塞式服务器主要特点:一个连接上来,等服务完毕后,才释放连接,在服务过程中,不能接收其他连接。一般而言此类服务的socket一般是阻塞的.....
分类:
其他好文 时间:
2014-06-26 16:10:27
阅读次数:
188
【黑金原创教程】【Verilog那些事儿-驱动篇I 】【实验一】流水灯模块
分类:
其他好文 时间:
2014-06-25 17:10:45
阅读次数:
238
线程同步对象关键字lock,是以lock对应的object对象为准,即任意线程lock住lockObj对象之后,其他线程无论在其他任何代码段使用lock(lockObj)去进行线程同步时,都将被阻塞。
锁定的是lockObj对象,不是lock对应大括号包含的代码段。
由此可见这里的lockObj被当盾牌使,而大括号内的则是被保护的平民。
??...
分类:
其他好文 时间:
2014-06-25 07:47:41
阅读次数:
226