多线程
小飞侠v科比
专注IT全栈技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java线程池原理分析
并发包 (计数器)CountDownLatch CountDownLatch 类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数...原创 2020-02-22 23:08:36 · 904 阅读 · 0 评论 -
Java多线程快速入门
一、课程目标 线程与进程 为什么要使用多线程? 多线程应用场景 多线程创建方式 练习题 线程生命周期 面试总结 练习题 二、线程与进程区别 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执...原创 2019-06-23 21:07:18 · 187 阅读 · 0 评论 -
Java多线程之间实现同步
一、课程目标 理解线程安全? synchronized用法 死锁 二、什么是线程安全? 2.1 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。 案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。 代码: class ThreadTrain1 impl...原创 2019-06-23 21:16:27 · 1048 阅读 · 0 评论 -
Java多线程之间实现通讯
一、课程目标 多线程之间如何通讯 wait、notify、notifyAll()方法 lock 停止线程 守护线程 Join方法 优先级 Yield 二、多线程之间如何实现通讯 2.1 什么是多线程之间通讯? 多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。 画图演示 2.2 多线程之间通讯需求 需求:第一个线程写入(input)用户,另一个线程取读取(out)用户.实现读一...原创 2019-06-23 21:25:03 · 1804 阅读 · 1 评论 -
深入理解Java多线程与并发编程
一、课程目标 多线程三大特性 Java内存模型 Volatile ThreadLoca 线程池 二、线程三大特性 多线程有三大特性,原子性、可见性、有序性 2.1 什么是原子性 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 一个很经典的例子就是银行账户转账问题: 比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1...原创 2019-06-23 21:47:13 · 201 阅读 · 0 评论 -
Java数据交换格式与SpringIOC底层实现
数据交换格式与SpringIOC底层实现 一、课程目标 XML和JSON Java反射机制 手写SpringIOC 二、什么是数据交换格式 客户端与服务器常用数据交换格式xml、json、html 三、数据交换格式用场景 移动端(安卓、IOS)通讯方式采用http协议+JSON格式 走restful风格。 很多互联网项目都采用Http协议+JSON 因为xml比较重WebService服务采用ht...原创 2019-06-23 21:52:18 · 352 阅读 · 0 评论 -
BAT常问面试题 多线程 / 高并发
1.stop() 和 suspend() 方法为何不推荐使用? 反对使用 stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。 suspend() 方法容易发生死锁。调用 suspend() 的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源...原创 2019-07-18 20:44:59 · 617 阅读 · 0 评论
分享