java多线程面试
云原生手记
欢迎大家关注我的公众号“云原生手记”,将定期更新云计算技术文章
展开
-
53道Java线程面试题
http://www.cnblogs.com/king-garden/p/5672853.html【转载】下面是Java线程相关的热门面试题,你可以用它来好好准备面试。1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任转载 2017-05-09 22:09:01 · 283 阅读 · 0 评论 -
java 线程的join方法解析
java 多线程join()的使用,及原理介绍先说一下join()有什么用吧?thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。首先这个方法有以下两种形式:t.join(); //调用join方法,等待线程t执行完毕t.原创 2017-10-21 19:20:35 · 284 阅读 · 0 评论 -
生产者消费者模式sychronized实现 java
生产者消费者模式sychronized实现 java相信大家都对消费者和生产者模式有一定了解,这个场景经常会用到多线程,而且因为涉及到共享资源的获取和修改,必然是需要线程同步的,那这边我就用synchronized来试下消费者和生产者,希望大家能看明白,程序中有注释,基本上能看懂的,主要是对共享对象buffer中的两个方法进行同步代码:import java.util.Date;import j...原创 2017-11-09 18:25:03 · 335 阅读 · 0 评论 -
线程状态
http://www.cnblogs.com/jijijiefang/articles/7222955.html 转载地址线程在一定条件下,状态会发生变化。线程一共有以下几种状态:1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待转载 2017-11-02 09:11:08 · 197 阅读 · 0 评论 -
java并发集合有哪些
java并发集合 数据结构(Data Structure)是编程中的基本元素,几乎每个程序都使用了一种或多种数据结构来存储和管理数据。java API提供了包含接口、类和算法的java集合框架,它实现了可用在程序中的大量数据结构。 当需要在并发程序中使用数据集合时,必须要谨慎地选择相应的实现方式。大多数集合类并不能直接用于并发应用,因为他们没有对本身数据的并发访问进行原创 2017-11-13 10:39:45 · 4135 阅读 · 0 评论 -
消费者生产者模式(2)——用java阻塞队列实现
生产者——消费者模式有三个阶段的编程: 1.使用synchronized,wait,notify(这在我博客中已经有实现了,可以找找看看) 2.使用阻塞队列LinkedBlockingQueue(这是本小节的重点) 3.使用非阻塞式的内存结构如ConcurrentLinkedQueue(以后补充) 本小节所讨论的生产者消费者模式是通过一个容器来解决的。原创 2017-11-13 11:26:10 · 1055 阅读 · 0 评论 -
java 线程池详解及四种线程池用法介绍
java 线程池详解 Executor框架是一种将线程的创建和执行分离的机制。它基于Executor和ExecutorService接口,及这两个接口的实现类ThreadPoolExecutor展开,Executor有一个内部线程池,并提供了将任务传递到池中线程以获得执行的方法,可传递的任务有如下两种:通过Runnable接口实现的任务和通过Callable接口实现的任务。在这两种情况原创 2017-11-14 16:09:24 · 19260 阅读 · 1 评论 -
java PriorityBlockingQueue——按优先级排序的阻塞式线程安全列表
java PriorityBlockingQueue——按优先级排序的阻塞式线程安全列表 数据结构应用中的一个经典需求是实现一个有序列表,java引入了priorityBlockingQueue类来满足这类需求。 所有添加进PriorityBlockingQueue的元素必须实现Comparable接口,这个借口提供了CompareTo()方法,他的传入参数是一个同类型的对原创 2017-11-13 17:00:22 · 1852 阅读 · 0 评论 -
java线程封闭 ThreadLocal的使用
当访问共享的可变数据时,通常需要使用同步,一种避免使用同步的方式就是不共享数据。Java提供了ThreadLocal类来方便开发者们实现线程封闭,在这个ThreadLocal类中的某个值与保存值的对象关联起来。ThreadlLocal提供了get与set方法,这些方法为每一个使用该变量的线程都存着一份独立的副本,因此get总是返回当前执行线程再调用set时设置的最新值。 pack...原创 2018-07-16 09:33:12 · 265 阅读 · 0 评论