- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 获得多线程的方式之线程池
获得多线程的方式之线程池 谈谈你对线程池的理解 什么是线程池?优势? 线程池的主要作用控制运行的线程的数量,简单来说,存放多个线程的池子,用到的时候从池中取线程去执行队列任务,执行完任务线程的释放 主要特点: 线程复用(避免重复方法创建和销毁线程,降低资源消耗,提高了响应速度) 控制并发线程数(可以设置线程的数量) 管理线程(对多个线程进行统一的分配,调优和监控) 优势:降低资源消耗,提高了响应...
2020-02-29 17:23:11 193
原创 Callable获得多线程
获得多线程的方式之通过Callable接口 先看一下Callable的接口源码 与Runnable接口的区别 1)Runnable接口没有返回值,该接口有返回值(带返回值的线程工作内容) 2)Runnable接口方法不会抛异常,该接口方法会抛异常 3)Runnable接口方法是run()方法,该接口的接口方法是call()方法 怎么使用Callable接口 Thread有Thread(Ru...
2020-02-29 17:22:01 352
原创 线程通讯之生产者消费者(生产一个,消费一个)传统版和阻塞队列版
线程通讯之生产者消费者 线程 操作(方法) 资源类 判断 执行 通知 防止虚假唤醒(await()的判断逻辑必须放到一个循环while里面,不能放在if里面) 实例:一个初始值为0的变量,两个线程对其进行交替操作,一个加1一个减1(生产一个,消费一个),来5轮 实现方式 传统版 1): Synchronized锁、aw...
2020-02-29 17:20:09 224
原创 阻塞队列BlockingQueue
阻塞队列BlockingQueue 队列:一种数据结构,先进先出(排队取餐) 阻塞队列:(交通拥堵) 1)阻塞队列有没有好的一面(一种情况:海底捞火锅,消费者越多,越阻塞证明生意越好,欢迎阻塞) 2)不得不阻塞,你如何管理? 什么是阻塞队列(BlockingQueue): 当阻塞队列中元素为空的时候,从队列中获取元素的操作将被阻塞 当阻塞队列中元素为满的时候,往队列中插入元素的操作将被阻塞 ...
2020-02-17 11:23:50 166
原创 Java并发编程之Semaphore(信号量)
Semaphore Semaphore是Java并发编程中常用到的,也叫信号量 一:用于多个共享资源的互斥访问, 二:控制并发线程数(这是相较于Synchronize的优势,当控制的并发线程数为1时,就等同于Synchronize,Lock锁) 模拟示例 模拟分车位,比如6个车抢占3个共享车位,同时最多只能3个车拥有车位,其他车排队等待,当车位空出来时,新的车进入车位,有增就有减 代码及注...
2020-02-14 16:14:15 180
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人