Java源码-Thread 线程.类

    Thread 线程类其实是一个实现了Runable接口的类。该类调用了许多底层的方法。所以下面你们会看到许多native的方法。

native修饰的方法:是指用其他语言(C/C++...)实现的方法。由此可见,底层语言是C/C++。

    Thread 主要成员变量:

        target(当前的Runable),ID (线程号),name(名称),

        以及优先级、线程组、线程状态、锁、本地信息等。

    主要方法:

    1、start();开启一个线程。实则调用native start0()来创建一个线程。这也表明了start()与run()的本质区别。start()开始创建一个实质线程(不是指线程对象,而是OS中的线程)。run()并没有创建线程,它只是一个方法。

 

       

 2、run():任务的逻辑代码块。执行Runable中的用户run方法。

 

 

3、exit():退出,用于释放资源。修饰词为private。这就表明我们不能直接销毁一个线程。(老版本Java有一些毁灭线程的方法,现在被弃用了,不建议使用,文章最后会稍微提一下)。

 

 

4、yield()、sleep(ms)两个都具有暂停工作的功能,但有很大区别,放在一起比较。

    yield():它只是通知线程机制,我可以被同优先级的线程切换,但并不会一定被切换。

    sleep():和yield一样,也是切换当前的线程。让其他线程进行工作,但sleep可以被低优先级的切换。

 

5、关于interrupt()  interrupted()  isInterrupted()

 

6、 join(ms)   如果这个线程还活着就一直等待 millis长时间、(使用 wait()方法)

 

    最后还有一个未捕获异常的处理接口 。由于线程有时会抛出异常,但是该异常并不能在起main()线程中捕获,一旦出现未处理的异常那么会终止程序。使用开发者使用了一个 未捕获异常的处理方法来 捕获将要造成线程死亡的异常。

    该异常处理方法是在线程因为没有捕获的异常而临近死亡时被调用。

    是一个私有成员变量,使用Set、Get进行操作

 

线程的状态 State

 

被销毁的方法:

    

码字不易,引用注明

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值