都是new A,而且A是同一线程,谁启动有区别吗?

解决方案 »

  1.   

    楼主的问题确实没说明白,既然A线程已经在运行了,为什么还要用B线程去启动A线程呢,还有一段时间后,会有两个线程同时启动,这句话怎么说?貌似不会出现这种情况吧。另外线程的停止可以用stop()方法!希望楼主提问的时候能说明白点!
      

  2.   

    第一个定时器是1h启动一次,第二个定时器是5min启动一次,第二个定时器是用来检查数据库是否有新任务,如果有新任务就就马上调用线程A执行一次,而不是说等第一个定时器来执行,也就是说第一个定时器的线程刚执行完,但有可能还要50分钟才能再次执行,这时我就用第二个定时器来调用线程A,同时有可能在第二个线程执行时第一个线程也会按时启动,两个线程应该会冲突吧
      

  3.   

    第一个定时器是1h启动一次,第二个定时器是5min启动一次,第二个定时器是用来检查数据库是否有新任务,如果有新任务就就马上调用线程A执行一次,而不是说等第一个定时器来执行,也就是说第一个定时器的线程刚执行完,但有可能还要50分钟才能再次执行,这时我就用第二个定时器来调用线程A,同时有可能在第二个线程执行时第一个线程也会按时启动,两个线程应该会冲突吧
    冲突的地方可以用synchrnise同步起来不可以吗?这样就不会冲突了吧
      

  4.   

    不知道你想达到什么目的。如果想同一时间不管有多少个定时器只会启动一个任务A,那你就把所有定时器用同一个异步的判断逻辑。如果想同一时间可以执行N个任务A,但是不希望同步执行造成共享数据IO冲突,就把共享操作加上锁。