多线程高并发时的工具类
1.线程状态6个
2.wait和sleep的区别 :放开资源/抓住资源
1.什么是集群,
2.什么是juc,
3.什么是正向代理,
4.什么是反向代理,
5.什么是负载均衡,
6.什么是线程,
7.什么是进程
8.什么是并发(秒杀)
9.什么是并行(泡面)
10.lock接口和Synchronized多线程编程的区别(
A.lock可以代替S,
B.lock比S更灵活效率更高
C.lock需要手动上锁解锁
);
11.面试题: 有哪几种锁(可重入锁):
12.创建线程的方式(4种):
java8
lambda
多线程
juc
电商会用
java
锁 locks
线程通信:怎么实现?
Linux 和redis。zk命令。用手记住
写自定义表达式
synchronized自动上锁,解锁
lock 需要手动上锁,解锁
New
Runner
多线程高并发时的工具类
线程起来没起来看操作系统
并发:同一时刻发出多次请求(抢手机)redis秒杀,AD
并行:多项任务一起执行(泡面)
redis秒杀,ad压力工具测试出问题
–help 查手册
juc:
lock接口:
Synchronized:多线程编程
用手机控制空调
面试题: 有哪几种锁:
可重复锁:
上锁lock.lock(),解锁lock.unlock()
怎么确定只有一个方法
default 可以写多个
lock与synchronized区别:
1.性能好
2.加锁
要让线程按照我们规定顺序输出,怎么做?
线程通信
线程是由操作系统起。
提代码块
判断时不能写if
睡后,回来再次判断?? 判断环节出错用while
为什么会引起虚假唤醒???
所以要重新判断一下
在多线程中往list加数据:
解决方案:直接说写时复制
java8特性
30个
并发修改错误
写时复制-(redis),持久化rdb,aof
bjcf 。cf
CopyOnWriteArrayList
以后用JUC下的类:
讲的就是面试官问的,有时间多敲,敲
多线程锁?
Lock8
8个题考的就是静态锁,一般锁之间的区别:
3个工具类
静态锁:锁定的是Class对象,和几个实体(手机)对象无关。
怎么认识他:中间人
把复杂任务提出来
put | get
说话算话
Volatile易变
可重复的读写锁
阻塞队列用到线程池的等候区
工作中3个都不用,手写线程池
问几个回答几个
实现线程池:
固定,单一,缓存
7个参数:
corePoolsize核心线程数
maxiMumPoolSize最大线程数
keepAliveTime休闲的线程保存的时间
unit单位
workQueue阻塞的队列
threadFactory线程工厂
handler 拒绝策略
惰性加载:::
为什么自己手写线程池
异步回调???