第一点:start() 和 run()的区别说明
start() : 它的作用是
启动一个新线程
,新线程会执行相应的run()方法。start()不能被重复调用。
run() : run()就和普通的成员方法一样,可以被重复调用。单独调用run()的话,会在当前线程中执行run(),而并不会启动新线程!
第二点:sleep() 和 wait()的区别说明
sleep定义在Thread.java中,sleep()的作用是让当前线程进入“休眠(阻塞)状态”。sleep()会指定休眠的时间,时间一到就会自动由“休眠(阻塞)状态”转变成“就绪状态”,缺少的是CPU时间。
wait()的作用也是使线程由“运行状态”转变成“等待(阻塞)状态”,但在wait的时候,不仅会缺少CPU时间,还会缺少其它的资源。