java.util.Timer底层是开了线程,有没有不开线程的定时器?该如何解决

java.util.Timer底层是开了线程,有没有不开线程的定时器?
多线程对公共数据的读写,需要采用互斥锁来实现同步,以保护数据。我觉得很麻烦。

有没有不开线程的定时器呀?


------解决思路----------------------
class A{
static Object data
void run1(){
   synchronized(data){
     //.......
  }
 }


void run2(){
   synchronized(data){
     //.......
  }
 }
}