Daily Archive: 2016-07-12

Concurrency: Active Objects

  在Active Objects中,每个对象维护自己的工作线程和消息队列,所有对该对象的请求都会被队列,一个一个地执行。当向对象发送消息时,消息会转换为一个任务,加入到对象的队列中,并在之后的某个时刻运行,Java SE5中加入的Future特别适合实现这样的编程方式。

上面的例子中,ActiveObjectDemo通过Execu…
Read more

Concurrency: Performance Tuning

1. Comparing Mutex Technologies   Lock的效率通常比synchronized高,但使用synchronized具有更好的可读性。如果加锁的代码比较耗时,耗费在加锁和解锁上的时间就会显得微不足道。 2. Lock-Free Containers   Java SE5加入了新的线程安全的容器类,不使用互斥锁,提高了性能。其基本策略是,对容器的修改和读取可以同时进行:…
Read more