线程学习
Baijp
这个作者很懒,什么都没留下…
展开
-
多线程初级学习1
多线程初级学习线程与进程的区别进程:每个正在系统上运行的程序都是一个进程,每个进程包含一到多个线程。线程:是程序执行流的最小单元,一个标准的线程由线程ID,当前指令指针PC,寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位。总结:进程是所有线程的集合,每一个线程是进程中的一条执行路径。为什么要使用多线程?一个人打一百斤谷子和五个人打一百斤谷子的时间...原创 2019-05-09 16:46:44 · 105 阅读 · 0 评论 -
多线程学习2(多线程之间实现同步,死锁,volatile)
多线程学习2(多线程之间实现同步)理解线程安全synchronized用法死锁Java内存模型Vlolatile关键字ThreadLock1.什么是线程安全?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。场景现在有两个窗口在同时卖100张票,现在用线程模拟窗口出票class Gr...原创 2019-06-05 11:46:21 · 187 阅读 · 0 评论 -
线程池原理分析
线程池原理分析什么是线程池?线程池作用ThreadPoolExecutor线程池四种创建方式线程池原理剖析合理配置线程池什么是线程池?Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任...原创 2019-06-05 11:40:41 · 744 阅读 · 0 评论 -
线程学习(锁的深度化)
线程学习(锁的深度化)悲观锁、乐观锁共享锁、排他锁重入锁读写锁CAS无锁机制自旋锁悲观锁、乐观锁悲观锁:悲观锁悲观的认为每一次操作都会造成更新丢失问题,在每次查询时加上排他锁。每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。...原创 2019-06-05 15:57:21 · 213 阅读 · 0 评论 -
多线程学习3(多线程之间实现通讯)
多线程学习3(多线程之间实现通讯)什么是多线程之间通讯?多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。画图演示多线程之间通讯需求需求:第一个线程写入(input)用户,另一个线程取读取(out)用户.实现读一个,写一个操作。代码实现://共享资源class User{ public String name; public String se...原创 2019-06-01 22:23:44 · 154 阅读 · 0 评论