
多线程与并发
多线程与并发
jmlqqs
这个作者很懒,什么都没留下…
展开
-
2万字Java并发编程面试题合集(含答案,建议收藏)
Java 并发编程1、在 java 中守护线程和本地线程区别?2、线程与进程的区别?3、什么是多线程中的上下文切换?4、死锁与活锁的区别,死锁与饥饿的区别?5、Java 中用到的线程调度算法是什么?6、什么是线程组,为什么在 Java 中不推荐使用?7、为什么使用 Executor 框架?8、在 Java 中 Executor 和 Executors 的区别?9、如何在 Wind...原创 2020-04-18 11:16:37 · 139 阅读 · 0 评论 -
java 中断线程的几种方式 interrupt()
中断中断(Interrupt)一个线程意味着在该线程完成任务之前停止其正在进行的一切,有效地中止其当前的操作。线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序。虽然初次看来它可能显得简单,但是,你必须进行一些预警以实现期望的结果。你最好还是牢记以下的几点告诫。首先,忘掉Thread.stop方法。虽然它确实停止了一个正在运行的线程,然而,这种方法是不安全也是不受提倡的,这意味...原创 2019-12-26 11:16:24 · 356 阅读 · 0 评论 -
Java中interrupt的使用
通常我们会有这样的需求,即停止一个线程。在java的api中有stop、suspend等方法可以达到目的,但由于这些方法在使用上存在不安全性,会带来不好的副作用,不建议被使用。具体原因可以参考Why is Thread.stop deprecated。在本文中,将讨论中断在java中的使用。中断在java中主要有3个方法,interrupt(),isInterrupted()和interrup...原创 2019-12-26 10:00:53 · 108 阅读 · 0 评论 -
synchronize和Lock锁的区别
为什么java已经通过synchronized关键字实现同步访问了,还需要提供Lock?synchronized的缺陷前面博客有提到过释放对象的锁有两种情况:程序执行完同步代码块会释放代码块。程序在执行同步代码块是出现异常,JVM会自动释放锁去处理异常。如果获取锁的线程需要等待I/O或者调用了sleep()方法被阻塞了,但仍持有锁,其他线程只能干巴巴的等着,这样就会很影响程序效率。因此...原创 2019-12-23 15:07:54 · 226 阅读 · 0 评论