java启动一个线程是用run()还是start()?run()和start()的区别?
启动线程肯定要用start()方法。当用start()开始一个线程后,线程就进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。当cpu分配给它时间时,才开始执行run()方法(如果有的话)。START()是方法,它调用RUN()方法.而RUN()方法是你必须重写的. run()方法中包含的是线程的主体
java工程 实现定时任务,怎样启动主线程
3种不同的实现方法:
1.普通thread实现
2.TimerTask实现
3.ScheduledExecutorService实现.
用Timer和TimerTask的话与上述方法相比有如下好处:
1.当启动和去取消任务时可以控制.
2.第一次执行任务时可以指定你想要的delay时间.
java 多线程子线程唤醒主线程问题
设一个三个线程的共享对象o
a.start();
b.start();//启动子线程
主线程中
o.wait(10*1000);//主线程中等10秒
同时A、B中各有一个执行完的通知
a或b的run(){
…..
o.
notify();
}
基本的线程操作…