摘要: 一、String(字符串常量) public final class String implements java.io.Serializable, Comparable<String>, CharSequence 可以看到String类被final修饰: “String对象一旦被创建就是固定不变的 阅读全文
posted @ 2020-03-06 13:33 梦里飞Mhlsky 阅读(63) 评论(0) 推荐(0) 编辑
摘要: java.util.concurrent.locks包下常用的类与接口(lock是jdk 1.5后新增的) (1)Lock和ReadWriteLock是两大锁的根接口,Lock代表实现类是ReentrantLock(可重入锁),ReadWriteLock(读写锁)的代表实现类是ReentrantRe 阅读全文
posted @ 2020-03-06 13:30 梦里飞Mhlsky 阅读(65) 评论(0) 推荐(0) 编辑
摘要: submit()和execute()都是 ExecutorService 的方法,是添加线程到线程池中。 submit()有返回值,返回future。 execute()没有返回值。 1、线程池的优势 (1)、降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗; (2)、提高系统响 阅读全文
posted @ 2020-03-06 13:24 梦里飞Mhlsky 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 在并发队列上JDK提供了两套实现: 一个是以ConcurrentLinkedQueue为代表的高性能队列; 一个是以BlockingQueue接口为代表的阻塞队列; 无论哪种都继承自Queue。 1.阻塞队列 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列 阅读全文
posted @ 2020-03-06 13:19 梦里飞Mhlsky 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 线程组、阻塞队列、线程池、这点只看,确实有点看不下去,博主也是费劲了,额,学会了还不难。真J恶心,不过不都是如此嘛,没有接触过的就会畏难。反正是笨就对了哈哈。 一、线程组: 可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以用线程。这样的组织结构有点类似于树的形式。 阅读全文
posted @ 2020-03-06 13:17 梦里飞Mhlsky 阅读(58) 评论(0) 推荐(0) 编辑
摘要: ynchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。 ** 1. synchronized 方法: 通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如: public synchronized v 阅读全文
posted @ 2020-03-06 13:13 梦里飞Mhlsky 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 引出:三个线程分别锁定this , obj1 , obj2 三个对象,请运行此代码查看打印结果。 class Food { int id; public int getId() { return id; } public void setId(int id) { this.id = id; } } 阅读全文
posted @ 2020-03-06 13:10 梦里飞Mhlsky 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 本文转载了部分 CSDN博主「Hatoandaburedo」的原创文章,也欢迎访问我的个人博客 首先一图概之: 当一个线程执行了start方法后,不代表这个线程就会立即被执行,只代表这个线程处于可运行的状态,最终由OS的线程调度来决定哪个可运行状态下的线程被执行。一个线程一次被选中执行是有时间限制的 阅读全文
posted @ 2020-03-06 13:07 梦里飞Mhlsky 阅读(82) 评论(0) 推荐(0) 编辑
摘要: Tread、Runnable、Callable的几种启动方式示例: Thread启动多线程 1、定义Thread类的子类,并重写该类... 阅读全文
posted @ 2020-03-06 12:08 梦里飞Mhlsky 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 线程和进程的区别是什么? 一句概括的总论:进程和线程都是一个时间段的描述,是CPU工作时间段的描述, 不过是颗粒大小不同。 在... 阅读全文
posted @ 2020-03-06 12:01 梦里飞Mhlsky 阅读(84) 评论(0) 推荐(0) 编辑