码迷,mamicode.com
首页 > 编程语言 > 详细

写在多线程学习之前

时间:2019-06-21 18:30:58      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:返回值   定时   run方法   面试问题   bsp   公司   一个   安全   信号   

  打算在每个专题的学习之前,写一篇随笔,记录下自己对该专题认知的1.0版,以后持续迭代。我学习多线程有以下两个原因:

  一、多线程是高级开发人员必备的技能,我对多线程可以说仍是一知半解,停留在零散理论阶段,未达到系统理论阶段,更未达到实战阶段。工作中接触到线程有三次,现在总结才发现都和定时任务有关,看来定时任务是多线程使用率比较高的一个场景。

        1、在第一家公司,写了一个简单的单线程用于同步数据。

        2、在第二家公司,用到公司封装好的定时任务框架,当时觉得到封装底层肯定是用到了线程,现在想想还用到了线程池。

        3、最近到了新单位又是一个定时任务的需求,定时同步数据给企业微信号,为了支持cron的数据库可配置,支持该定时模块以后的可扩展,选择了一个轻量级的Quartz——Spring Task,其底层实现也是维护了一个线程池。目前这个小小的定时模块已经实现了,但是却勾起了我学习多线程的兴趣,不能一直停留在应用层面,必须深入底层,知其然,并知其所以然。

       二、曾经在好几次的面试中被问及了Java线程相关的问题,自己的回答总是不尽如人意,并且每次都会有新的问题出现,以下列举下自己遇到的线程的面试问题,在以后的学习中逐个解开疑团。

  1、Java线程的实现方式,大家都知道的有两种继承Thread类或者实现Runable接口,有一次面试被问说还有一种方式,当然是不知道,后来自己查是实现Callable<T>接口,实现Callable<T>接口的线程是有返回值的。本质不是要记住这些方式,而是知道在什么情况用。

        2、线程的run方法和start方法,run方法用于实现线程的任务,start方法用于启动线程,run方法和普通的Java方法没有本质区别

         https://www.cnblogs.com/sunnybug/p/5568626.html

  3、线程的同步,线程安全

  4、线程池

https://www.cnblogs.com/zzuli/p/9386463.html

https://www.cnblogs.com/superfj/p/7544971.html

https://www.cnblogs.com/zhujiabin/p/5404771.html

未完待补充。。。

 

写在多线程学习之前

标签:返回值   定时   run方法   面试问题   bsp   公司   一个   安全   信号   

原文地址:https://www.cnblogs.com/cblpolly/p/11059292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!