个人学习,如有错误请指正~
2.线程的状态转换
3.start和run的区别
1.start()方法来启动线程,真正实现了多线程运行。这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码。
2.通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行。
3.方法run()称为线程体,它包含了要执行的这个线程的内容,线程就进入了运行状态,开始运行run函数中的代码。Run方法运行结束,此线程终止。然后CPU再调度其他线程。
4.Java中用到的线程调度算法是什么
抢占式。一个线程用完CPU后,操作系统会根据线程优先级、线程饥饿情况等数据算出一个总的优先级并分配下一个时间片给某个线程执行。