每日知识点

知识点:
1.创建线程对象的两种方式。
继承Thread类   
实现Runnable接口   
两种方式都要重写run()方法
2.线程对象run()方法和start()方法的区别。
run()  线程体  ,每个线程对象都要执行的
start() 线程的启动方法,启动之后线程进入就绪状态,通过抢占cpu资源来执行线程任务
直接调用run()方法,并不是启动线程,而是主线程执行run()方法而已

3.解释线程的状态以及个状态之间的转换。
创建   就绪   运行   阻塞   死亡
实例化线程对象  创建
调用start()方法  线程进入就绪状态,等待cpu资源
如果一个线程对象,获取了cpu资源,就进入运行状态
运行中的线程如果时间片到了又会回到就绪状态
运行中的线程如果通过wait()   sleep()方法会进入阻塞状态,阻塞结束又会回到就绪状态
线程任务执行完成进入死亡状态,或者手动通过代码让线程死亡
4.写出几个线程调度的方法并解释。
join()  让当前线程暂停
yield() 礼让
Thread.sleep()     让线程睡眠指定的时间,进入阻塞

5.解释程序,进程,线程。
程序:数据结构和代码的集合
进程:程序一次动态执行的过程
线程:进程中最小的单位,表示一个任务

猜你喜欢

转载自blog.csdn.net/qq_61432802/article/details/121485334