D. Java Multi-Threading and Concurrency

1.线程和进程的区别?


2.多线程程序的好处有哪些?


3.线程和后台线程有什么区别?

a

4.如何创建线程?

a

5.线程生命周期里线程状态有哪些?

a

6.能否调用线程类的run方法?

a

7.如何在确定的时候停止执行的线程?

a

8.线程优先级如何理解?

a

9.什么是定时线程和时间分片?

a

10.什么是多线程里的上下文切换?

a

11.如何确定Java程序里main()是最后一个完成的线程?

a

12.线程间交互是如何完成的?

a

13.为什么线程交互的方法wait(),notify()和notifyAll()是在Object类里?

a

14.为什么线程交互的方法wait(),notify()和notifyAll()必须从synchronized方法或block里调用?

a

15.为什么线程的sleep()和yield()方法是静态的?

a

16.Java如何实现线程安全?

a

17.volatile关键词的用途是什么?

a

18.Synchronized方法和Synchronized代码块应该如何优先选?

a

19.如何创建后台线程?

a

20.ThreadLocal是什么?


21.线程组是什么?为何建议不适用它?


22.什么是线程Dump?如何Dump Java程序的线程?


23.什么是死锁?如何分析和避免死锁情况?


24.Timer类是什么?如何执行定时任务?


25.线程池是什么?如何创建线程池?


26.如果不重写Thread类的run()方法会发生什么?


27.什么是原子操作?Java多线程API中原子类有哪些?


28.Java多线程API中Lock接口是什么?它优于synchronization的好处是什么?


29.线程框架是什么?


30.BlockingQueue是什么?如何通过BlockingQueue实现生产-消费模型?


阅读文章producer-consumer problem implementation using BlockingQueue

31.Callable和Future是什么?


阅读文章Callable Future Example

32.FutureTask类是什么?


阅读文章Java FutureTask Example学习如何使用和了解其不同方法。

33.什么是线程集合类?


阅读文章how to avoid ConcurrentModificationException when using iterator

34.Executors类是什么?

a

35.Java8多线程API中有什么改进?

一些多线程API的增强如下:

∆ ConcurrentHashMap的compute(), forEach(), forEachEntry(),forEachKey(), forEachV alue(), merge(), reduce() and search()方法;

∆ CompletableFuture可能明确的完成(设置值和状态);

∆ Executors的newWorkStealingPool()方法来创建work-stealing线程池,根据目标并行级别来使用所有可用的CPU处理器。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,515评论 2 59
  • 必备的理论基础 1.操作系统作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口。 管理调度进程,并将多个进程对硬件...
    drfung阅读 8,979评论 0 5
  • 爱情不过是互相伤害,最终比的是谁伤的最深。
    殇_23a4阅读 1,783评论 0 0
  • 努力,是为了更好的放松! 五一,邀请你给【心】放个假…… 因为,你的【身体】有了花匠护理内裤—— 早就放假很久了[...
    我的花匠之花精灵阅读 1,108评论 0 0

友情链接更多精彩内容