为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 JavaFX 包含重复的颜色常量?

为什么 JavaFX 包含重复的颜色常量?

炎炎设计 2021-10-28 14:46:42
查看JavaFX 11的 API 文档,我发现它包含重复的颜色常量。例如:DARKGRAY - RGB 值为深灰色的颜色#A9A9A9DARKGREY - RGB 值为深灰色的颜色#A9A9A9和GRAY - RGB 值为灰色的颜色#808080GRAY - RGB 值为灰色的颜色#808080如您所见,唯一的区别在于字段名称的拼写,而不是 RGB 值。你知道为什么会有这样的重复吗?
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

我有一些课:


@Component

public MyClass {

   private volatile boolean stopped = false; 


   public void verification() throws Exception {


        Thread kpiAllThread = getKPIAllThread();


        try {

            for (int i = 0; i < poolSize; i++) {

                execDispatcher.put(processExecutor.submit(getCheckValuesInKPIConsumerTask(workingQueue)));

            }

            kpiAllThread.start();

        } finally {

            waitFinished();

        }

    }


    public void setStop(bolean stopped) {

         this.stopped = stopped;

    }


    private Thread getKPIAllThread() {

        return new Thread(() -> {

            try {

                LOG.debug("KPIAllThread started!");

                dao.getKpiAll(workingQueue);

                for (int i = 0; i < poolSize; i++) {

                    workingQueue.put(() -> true);

                }

            } catch (Exception ex) {

                LOG.error("KPIAllThread exception: ", ex);

            } finally {

                LOG.error("KPIAllThread finished!");

            }

        });

    }

}

这个类启动生产者线程getKPIAllThread。他从 db 获取数据并放入BlockingQueue.


getKpiAll像这样的方法:


public void getKpiAll(final BlockingQueue<KeyPropertyIndex> kpiData) throws Exception {

        LOG.debug("Starting getKpiAll");

        try (final Connection con = dataSource.getConnection();

             final Statement stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)) {

            stmt.setFetchSize(Integer.MIN_VALUE);


            try (final ResultSet rs = stmt.executeQuery(sqlGetAllkpi)) {

                while (rs.next()) {

                    kpiData.put(new KeyPropertyIndexData(rs.getLong(1), rs.getString(2)));

                }

            }

            LOG.debug("Finished get getKpiAll");

        } catch (Exception ex) {

            throw ex;

        }

    }

还有一个变量stopped可以从外部设置到true. 这样做时如何安全地停止我的线程?这样到数据库的所有连接都关闭并且线程成功完成?



查看完整回答
反对 回复 2021-10-28
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信