线程类 Thread

2025-11-10 08:43:22

1、1) Thread 类包含一个可以运行的方法 run()

2) 两种方法创建线程

    a> 继承 Thread 类

        i>    继承 Thread 类,覆盖run()方法,提供并发运行的过程

        ii>    创建这个类的实例

        iii>    使用start()方法启动线程

例子:

    b>实现Runnable接口

        i>    实现Runnable接口,实现run()方法,提供并发运行的过程

        ii>    创建这个类的实例,用这个实例作为Thread构造器参数,创建Thread类

        iii>    使用start()方法启动线程    

例子:

3)线程的 5 种状态

    a>  New      新建状态

    b>  Runnable       可运行(就绪)状态

    c>  Running         运行(正在运行)状态  ,调用   Thread.yield() 方法,可使线程由 Running 进入 Runnable 状态

    d>  Block         阻塞(挂起)状态  

    e>  Dead         死亡状态 ,此时如果执行 run() 方法,会抛异常 IllegalThreadStateException

           Thread.sleep(times)  休眠状态

4)线程的常用属性和方法

    a>线程的优先级(资源紧张的时候,尽可能优先)

        最高优先级 10 :  t3.setPriority(Thread.MAX_PRIORITY);   

        最低优先级 1 :  t3.setPriority(Thread.MIN_PRIORITY);   

        默认优先级 5: t3.setPriority(Thread.MORM_PRIORITY);   

    b>后台线程 (守护进程,精灵进程)

        t1.setDaemon(true);   

        当前台线程结束时,不管后台线程是否结束,都要被停掉

    c>获得线程名字  getName()

    d>获得当前线程 Thread main =Thread.currentThread();

5)使用同步代码块解决线程并发安全问题

       a> synchronized(同步监视器){    } 

       b>  如果方法的全部过程需要同步, 可以简单使用 synchronized 修饰方法,相当于整个方法

        的 synchronized(this) 

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢