踏雪之_无痕 2019-10-26 09:26 采纳率: 0%
浏览 192

一个很奇怪的static问题

大家帮忙看看,static居然有多个值,这不合理啊。
1)这不可能是先后赋值的问题,因为如果值后,后面依然有空的。重复出现。
2)好像有三个不同的static(这不正常)
3)本身只有一个list,6个任务,现在输出的是3个list,18个任务,而且同样的任务有三个不同的实例,见hashcode,
有三个hashcode说明很可能有三个实例,就算三个实例是因为多线程的问题产生的,但static也三个什么意思。
图片说明图片说明图片说明图片说明

事实上我加了synchronized,但是效果依然如此,三个是1我可以认为是并发,但后面三个并发设置的ConfigSet.SERVER_IP也变成三个我没法理解(ConfigSet.SERVER_IP是static的)

2019-10-26 13:55:41==========BaseAction(15493888)===========1-----N
====aaaaa====BaseAction Path(/data/tomcat/webapps/dlp_oa/WEB-INF/classes/)=========

2019-10-26 13:55:45==========BaseAction(15493888)===========1-----N
====aaaaa====BaseAction Path(/data/tomcat/webapps/dlp_oa/WEB-INF/classes/)=========

2019-10-26 13:55:49==========BaseAction(15493888)===========1-----N
====aaaaa====BaseAction Path(/data/tomcat/webapps/dlp_oa/WEB-INF/classes/)=========

private static Integer count1 = 0;

private void startTask()
{
synchronized(count1)
{
if(count1<1)
{
if(Ustring.getNotNull(ConfigSet.taskPath))
{
String shutdown = ConfigSet.getParam("taskShutdown");
if(Ustring.getNotNull(shutdown))
{
TaskManager.setShutDown(shutdown);
}
count1++;
System.out.println(Udate.getTexttNowDate()+"==========BaseAction("+Thread.currentThread().hashCode()+")==========="+count1+"-----"+shutdown);

System.out.println("====aaaaa====BaseAction Path("+this.getFilePath()+")=========");
TaskManager.run();
}
}
}
}
  • 写回答

2条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序