第一点:start() 和 run()的区别说明
start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法。start()不能被重复调用。run() : run()就和普通的成员方法一样,可以被重复调用。单独调用run()的话,会在当前线程中执行run(),而并不会启动新线程!
第二点:sleep() 和 wait()的区别说明
sleep定义在Thread.java中,sleep()的作用是让当前线程进入“休眠(阻塞)状态”。sleep()会指定休眠的时间,时间一到就会自动由“休眠(阻塞)状态”转变成“就绪状态”,缺少的是CPU时间。
wait()的作用也是使线程由“运行状态”转变成“等待(阻塞)状态”,但在wait的时候,不仅会缺少CPU时间,还会缺少其它的资源。
本文详细解释了Java中线程的start()与run()方法的区别,以及sleep()与wait()方法的不同之处。start()用于启动新线程并执行run()方法,而直接调用run()则在当前线程执行。sleep()使线程暂停指定时间后自动恢复,wait()则需外部唤醒且释放了锁。
525

被折叠的 条评论
为什么被折叠?



