面试题:你使用过concurrent包下的那些类?

1.executor接口,使用executor接口的子接口ExecutorService用来创建线程池
2.Lock接口下的ReentrantLock类,实现同步,比如三个线程循环打印ABCABCABC...
3.atomic包,使用AtomicInteger类的incrementAndGet()方法来实现原子操作,比如a++
4.Callable接口,重写call方法,实现多线程
5.concarrenHashMap,线程安全的HashMap

原文地址:https://www.cnblogs.com/linliquan/p/11602468.html

时间: 2024-10-11 14:11:33

面试题:你使用过concurrent包下的那些类?的相关文章

concurrent包下常用的类

转自 http://www.importnew.com/21889.html 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法. 以下是本文目录大纲: 一.CountDownLatch用法 二.CyclicBarrier用法 三.Semaphore用法 一.CountDownLatch用法 CountDownLatch类位于java.util.concu

java.util.concurrent包下的几个常用类

1.Callable<V> Callable<V>与Runnable类似,理解Callable<V>可以从比较其与Runnable的区别开始: 1)从使用上:实现的Callable<V>的类需要实现call()方法,此方法有返回对象V:而Runnable的子类需要实现run()方法,但没有返回值: 2)如果直接调用Callable<V>的子类的call()方法,代码是同步顺序执行的:而Runnable的子类是线程,是代码异步执行. 3)将Call

JavaSE8基础 同一个包下的无关类 可以访问到 默认/受保护/公有方法

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码一: package jizuiku; class Person { void showDefault() { System.out.println("showDefault"); } private void showPrivate() { System.out.println("showP

concurrent包中的TimeUnit类

TimeUnit类是concurrent包中的一个类,主要的方法是实现时间的转换,如天数转换为时间,或从时间转换成天数. 在该类中定义了一个枚举类型:代码为: NANOSECONDS { public long toNanos(long d) { return d; } public long toMicros(long d) { return d/(C1/C0); } public long toMillis(long d) { return d/(C2/C0); } public long

加载指定包下的所有类

package util; import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.net.JarURLConnection; import java.net.URL; import java.util.Enumeration; import java.util.HashSet; import java.util.Set; import java.util.jar.JarEnt

在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常的解决办法

问题现象: 在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常. 解决办法: 1.定位到报错的方法为WWXML.java文件中的createDocumentBuilder方法: pub

5、java的concurrent包下的线程池

1.java.util.concurrent Class Executurs public class Executors extends Object 其中提供了返回类型为Executor.ExecutorService.ScheduledExecutorService.ThreadFactory和Callable的方法. public static ExecutorService newFixedThreadPool(int nThreads) 创建一个固定线程个数的线程池.当所有的线程都处

Java基础知识-java.util.concurrent包下常见类的使用

一,Condition 一个场景,两个线程数数,同时启动两个线程,线程A数1.2.3,然后线程B数4.5.6,最后线程A数7.8.9,程序结束,这涉及到线程之间的通信. public class ConditionTest { static class NumberWrapper { public int value = 1; } public static void main(String[] args) { //初始化可重入锁 final Lock lock = new ReentrantL

关于java.util包下的Random类

1.功能:此类的实例用于生成伪随机数流 2.方法(Random的方法有很多,在此只解释说明我认为比较常用的几个方法) (1)next(int bits):生成下一个伪随机数 (2)nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的.在 0.0(包括) 和 1.0(不包括) 之间均匀分布的 double 值. (3)nextFloat():返回下一个伪随机数,它是取自此随机数生成器序列的.在0.0(包括) 和 1.0(包括) 之间均匀分布的 float 值. (4)next