Java读取同步块内的回调

时间:2019-02-04 17:53:07

标签: java callback

我正在使用下面的代码,这些代码使用回调将在0-2分钟和2分钟到5分钟内运行的任务数记录到监视系统中。 两种方法: 1. checkLongRunningReportsOperationInst :: getCurrentRunningReports0MTo2MCount

2。 checkLongRunningReportsOperationInst :: getCurrentRunningReports2MTo5MCount

是每1分钟执行一次的lambda。我的问题是,如果我使用ynchronized(checkLongRunningReportsOperationInst),两个lambda是否将在单个原子操作中执行?这意味着没有其他线程会执行在checkLongRunningReportsOperationInst对象中定义的这两个变量的更新方法。我已经在此checkLongRunningReportsOperationInst对象上同步了更新方法。

已同步(checkLongRunningReportsOperationInst){             metricBuilder.newGauge(checkLongRunningReportsOperationInst :: getCurrentRunningReports0MTo2MCount,COUNT_OF_CURRENT_RUNNING_REPORTS_IN_BUCKET,BiReportMonitoringUtils.ReportRuntimeBucketName._0M_TO_2M.getName());

        metricBuilder.newGauge(checkLongRunningReportsOperationInst::getCurrentRunningReports2MTo5MCount, COUNT_OF_CURRENT_RUNNING_REPORTS_IN_BUCKET, BiReportMonitoringUtils.ReportRuntimeBucketName._2M_TO_5M.getName());

}

0 个答案:

没有答案