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