Java多线程

问题:

1.进程和线程的区别?资源-CPU

2.run和start的区别?native源码

3.Thread类和Runnable接口的区别?

4.如何给run()方法传参?三个方法

5.如何处理线程的返回值?Callable接口:FutureTask 或者 线程池(优点)

6.线程的6个状态?

7.sleep() 和 wait() 方法的区别:类不一样 使用的代码位置不一样 释放锁

8.notify和notifyAll的区别?锁池EntryList和等待池WaitSet

9.yield()?暗示线程调度器自己可以让出cpu

10.interrupt()?stop() suspend() resume()方法为何被废弃?

11.Synchronized类锁 对象锁?获取类锁的方式 .class static

12.Synchronized的低层实现原理?

13.自旋锁(不让CPU 等待锁 PreBlockSpin设置自选次数)和自适应自旋锁(自旋次数不固定)?

14.锁消除?不可能被共享的资源,自动消除锁

15.锁粗化?

16.Synchronized四种状态?无锁 偏向锁 轻量级锁 重量级锁

17.偏向锁?Mark word结构变更

18.ReentrantLock?

19.可重入原理?

20.公平锁和非公平锁(Synchronized)?慎用

21.wait()和await()?

22.CAS?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值