多线程
Java架构师课代表
java架构大数据每天分享干货
展开
-
面试官:你连多线程问题你都清楚,还想要我怎么“放水”?
面试官:问你几个多线程相关的问题吧,说一下导致线程死锁的原因,怎么解除线程死锁?程序员阿里:这个...死锁...(一分钟后)面试官:不知道?那好,说一下Lock 和 Synchronized 的区别?程序员阿里:Lock是锁...面试官:...会就会,不会就说不会,节省一下时间,sleep 和 wait 的区别总该知道吧?程序员阿里:...不怎么了解面试官:那多线程的几种实现方式,什么是线程安全,这总该知道吧?程序员阿里:咱能换个技术点问吗?面试官:连多线程并发...原创 2020-09-25 19:14:16 · 205 阅读 · 0 评论 -
为什么start方法才能启动线程,而run不行?
我们都知道,一个线程直接对应了一个Thread对象,在刚开始学习线程的时候我们也知道启动线程是通过start()方法,而并非run()方法。那这是为什么呢?如果你熟悉Thread的代码的话,你应该知道在这个类加载的时候会注册一些native方法一看到native我就想起了JNI,registerNatives()实际上就是java方法和C/C++的函数对应。在首次加载的时候就会注册这些native方法。Thread中有很多native方法,大家有兴趣的可以去看看。关于JNI方法的.原创 2020-09-11 15:09:00 · 265 阅读 · 0 评论 -
线程池看懂了也很简单
理论知识周末上海下起了雨也降温了,无事打开电脑看看源码,就想到了线程池。线程池的技术网络上已经有很多文章都已经写过了,而且理论都是一样的。但是理论归理论,面试的时候也许你刚好看了一篇能应付过去,但是如果深究细节可能就会懵逼。所以我很建议任何理论我们都需要自己去探究一下才好,自己实践过的才有自己的理解而不是死记硬背,这样才会经久不忘。线程池属于开发中常见的一种池化技术,这类的池化技术的目的都是为了提高资源的利用率和提高效率,类似的HttpClient连接池,数据库连接池等。在没有线程池的时候,原创 2020-09-09 13:29:49 · 483 阅读 · 0 评论