02 2017 档案
摘要:Java中的线程状态(详见Java线程状态及转换-MarchOn): wait:Object类的实例方法,释放CPU执行权,进入等待状态,直到 被中断、被拥有该对象锁的线程唤醒(notify或notifyAll)、wait时间到了自己唤醒 三者之一发生。会释放所持有的对象锁。(关于 wait、not
阅读全文
摘要:假设需要对一个文件的内容频繁访问,甚至要做修改,如何才能高效访问?再者,修改后要让别人也能及时看到该文件的新内容,如何做到?对于前者,传统的做法是“打开文件,读入”,为了提高效率,可以将整个文件内容读入到内存,之后的读从内存取即可;对于后者,需要调用者做一些同步操作来保证一致性。可见,传统做法需要将
阅读全文
摘要:在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 认识Bl
阅读全文
摘要:借助heap数据结构实现。 以小顶heap为例(说明值越小优先级越高,如距离),代码如下: 1 // PriorityQueue.java 2 // Java Spatial Index Library 3 // Copyright (C) 2008 aled@users.sourceforge.n
阅读全文