一个小队去登山,每位队员登山的速度不同。山上有几个集合点,在每一集合点处,先到达的队员只有等后面的队员全部到达集合点后才能继续向下一个集合点出发。JDK1.5提供的CyclicBarrier模拟了这种情况。每一个线程相当于一个登山队员,CyclicBarrier相当于山上的集合点。只有等所有线程都执...
分类:
编程语言 时间:
2014-05-01 11:34:29
阅读次数:
388
JDK1.5提供了一个计数信号量Semaphore类。Semaphore
通常用于限制可以访问某些资源(物理或逻辑的)的线程数目,并提供了同步机制。Semaphore提供了两个构造器来创建对象:1)Semaphore(int
permits):创建具有给定的许可数和非公平的公平设置的Semaphor...
分类:
编程语言 时间:
2014-05-01 11:33:50
阅读次数:
431
CountDownLatch
类是一个倒计时计数器,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数初始化
CountDownLatch。由于调用了countDown() 方法,所以在当前计数到达零之前,await
方法会一直受阻塞。之后,会释放所有等待的线程,aw...
分类:
编程语言 时间:
2014-05-01 08:21:22
阅读次数:
485
自旋锁和互斥锁是多线程编程中的两个重要概念。他们都能用来锁定一些共享资源,以阻止影响数据一致性的并发访问。但是他们之间确实存在区别,那么这些区别是什么?
1 理论
理论上,当一个线程试图获取一个被锁定的互斥锁时,该操作会失败然后该线程会进入睡眠,这样就能马上让另一个线程运行。当持有互斥锁的线程释放该锁之后,进入睡眠状态的线程就会被唤醒。但是,当一个线程试图获取一个自旋锁而没有成功时,该线...
分类:
其他好文 时间:
2014-04-29 13:31:21
阅读次数:
317
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
void func()
{
string url;
cout << "输...
分类:
Web程序 时间:
2014-04-29 13:21:20
阅读次数:
506
SOCKET TCP
procedure idtcpsrvr1Execute(AThread: TIdPeerThread);
procedure idtcpsrvr1Connect(AThread: TIdPeerThread);
idtcpsrvr1: TIdTCPServer;
idtcpclnt1: TIdTCPClient;
cli...
分类:
其他好文 时间:
2014-04-29 13:16:20
阅读次数:
380
定期为大家更新《Java并发变成实践》读书笔记,绝对的干货喔!...
分类:
编程语言 时间:
2014-04-29 13:14:19
阅读次数:
293
最近亲眼看到快播被大批警察包围,感觉到快播注定要关闭很多东西,很多宅男宅女们又要寂寞了,于是乎,疯狂的研究DHT网络技术
看到网上也有开源的代码,这不,我拿来进行了二次重写,呵呵,上代码:
#encoding: utf-8
import socket
from hashlib import sha1
from random import randint
from struct import u...
分类:
其他好文 时间:
2014-04-29 13:13:20
阅读次数:
420
Usage: docker [OPTIONS] COMMAND [arg...]
-H=[unix:///var/run/docker.sock]: tcp://host:port to bind/connect to or unix://path/to/socket to use
A self-sufficient runtime for linux containers.
Co...
分类:
其他好文 时间:
2014-04-28 10:17:41
阅读次数:
359
Cobar启动完成,监听特定端口。整个认证的流程图:NIOAcceptor类继承自Thread类,该类的对象会以线程的方式运行,进行连接的监听。NIOAcceptor启动的初始化过程如下:1 、打开一个selector,获取一个ServerSocketChannel对象,对该对象的socket绑定特定的监听端口,并设置该channel为非阻塞模式,然后想selector注册该channel,绑定感...
分类:
数据库 时间:
2014-04-27 21:47:07
阅读次数:
462