java多线程之线程概念

                                                                     实训之--线程

线程的知识。无非线程的生命周期;线程状态;以及线程在java中的操作方法;线程的分类

一、线程的生命周期:

1、新建状态(New):start().新创建了一个线程对象。

2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。

3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。

4、阻塞状态(Blocked):sleep(), wait()阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。

5. 终止:stop().

二、生命周期图:



三、操作方法

1.Thread.getcurrentThread.getName()线程名称

2.wait().sleep 阻塞操作

3.构造Thread(Runnable,threadname)创建线程

4.setName,getName()

5.getPriority()   setPriotity(Min/max)取得,设置线程的优先级。

一般就这几种放方法。

四。线程分类:守护线程,用户线程

    一切以非守护线程为主:在jvm中,只有非守护线程结束工作,守护线程才能停止。

        说白了就是,我创了个MyThread1,只有它运行完成,stop()之后,主线程/守护线程的 比如垃圾回收线程,计数器线程才能结束。

我原来想模拟一下,让Mythread和主线程中的a()方法进行竞争输出,应为它们的setProity都一样,结果不可能,因为,守护线程总是先启动,不在一个起跑线,如何竞争,哈哈。

    


猜你喜欢

转载自blog.csdn.net/qq_35758236/article/details/80857956