小编psy*_*ron的帖子

如何找到slf4j绑定到哪个库?

我正在使用slf4j登录我的应用程序.我得到了slf4j的目的.我想知道如何找出当前绑定到哪个日志库slf4j.我在引用的库中有log4j.我假设slf4j已经绑定到log4j.

我想知道的是,有没有办法明确确认这种绑定?

java logging log4j slf4j

43
推荐指数
2
解决办法
6684
查看次数

使用 while 循环进行轮询的建议替代方案是什么

这是我的代码,用于轮询我的应用程序模型的更改。

    Thread refreshThread = new Thread(new Runnable() {

        public void run() {

            while(true)
            {                       
                if(TasksManager.isDirty())
                {
                    TasksManager.refreshTasks(true);
                    panel.repaint();
                }
            }
        }
    });
    refreshThread.start();  
Run Code Online (Sandbox Code Playgroud)

现在它是一个巨大的CPU消耗者。以下是所发生事件的详细情况。

  1. TaskManager 意识到添加了一些新内容。
  2. TaskManager 将自身标记为脏。
  3. 当我的刷新线程发现它脏时,它立即对模型和显示面板执行刷新。
  4. 在 RefreshTasks() 结束时,模型再次标记为干净。

我不希望任务管理器开始刷新,因为它不包含对查看面板的任何引用。

我的一个想法是使用condition.await()。当任务管理器被标记为脏时,它可以发出信号。但我发现锁和条件是齐头并进的。在函数开始时使用条件而不获取锁可以吗?

java swing

1
推荐指数
1
解决办法
3073
查看次数

标签 统计

java ×2

log4j ×1

logging ×1

slf4j ×1

swing ×1