我打算开始一个新项目,并且正在研究当前最先进的Java Web框架.我决定围绕Guice构建我的应用程序,并且可能使用像Squill/JEQUEL/JaQu或类似的非常轻量级的ORM,但我无法决定Web框架.哪一个最适合这种轻量级环境?哪一个最好与Guice整合?
这个问题必须在两个博客文章讨论(http://dow.ngra.de/2008/10/27/when-systemcurrenttimemillis-is-too-slow/,http://dow.ngra.de/2008/10/28 /我们真正知道的关于非阻塞并发性的java /),但我还没有听到确定的答案.如果我们有一个线程执行此操作:
public class HeartBeatThread extends Thread {
public static int counter = 0;
public static volatile int cacheFlush = 0;
public HeartBeatThread() {
setDaemon(true);
}
static {
new HeartBeatThread().start();
}
public void run() {
while (true) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
counter++;
cacheFlush++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
许多客户运行以下内容:
if (counter == HeartBeatThread.counter) return;
counter = HeartBeatThread.cacheFlush;
Run Code Online (Sandbox Code Playgroud)
是不是线程安全?