多线程
yuruizai110
技术改变是生活
展开
-
java并发原理(二)
Synchronized理解 上一篇已经对线程的创建方式进行了介绍 这次LK来聊一聊synchronized 首先synchronized是什么? 百度百科 代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法(或者该类的其他同步方法),有的话要等正在使用synchronized方法的线程B(或者C 、D)运行完这个方法...原创 2019-01-17 17:27:52 · 202 阅读 · 0 评论 -
Java并发编程原理(一)
创建线程的多种方式 继承Thread类 package com.yrz; /** * @author yrz * @site www.yrz.com * @create 2019-01-13 10:51 */ public class ExtendsThread extends Thread { public Exte...原创 2019-01-13 20:18:29 · 271 阅读 · 0 评论 -
Java并发编程原理(三)
一.为什么会有线程安全问题? 多个线程对共享资源进行非原子性操作 总结 1.多线程环境下 2.共享资源 3.非原子性操作 二.多线程执行时共享了哪些资源 局部变量 局部变量存储在线程自己的栈中,也就是说,局部变量永远也不会被多个线程共享。所以,基础类型的局部变量是线程安全的。 public static long someMethod(){ long threadSafeIn...原创 2019-01-31 00:18:57 · 223 阅读 · 0 评论 -
Java并发编程原理(四)
Java中的锁 lock锁 public class LockDemo { private Lock lock = new ReentrantLock(); private int count = 0; public int inc() { lock.lock(); try { int newCount = coun...原创 2019-01-31 00:20:33 · 126 阅读 · 0 评论 -
Java并发编程原理(五)
LK 接着上面的内容继续总结相关知识,新的一年里希望自己能够持续更新自己的技术栈,也祝愿各位浏览我主页的朋友新的一年升职加薪。 公平锁 1.为什么要有公平锁? 是因为出现了不公平--java中称之为饥饿。 > 如果一个线程因为CPU时间全部被其他线程抢走而得不到CPU运行时间,这种状态被称之为“饥饿”。 总结:是因为自己的cpu运行时间被其他线程占用了。 2.Java中导致饥饿的原因 ...原创 2019-02-12 18:01:20 · 119 阅读 · 0 评论 -
java并发编程(六)
并发工具类: LK最近学习了并发工具类的知识,总结一下它们的用法: 1.CountDownLatch 2.CyclicBarrier 3.Semaphore 4.Exchanger 1.CountDownLatch 使用完CountDownLatch之后,觉得它适合应用于让其它线程去各自执行完,然后main线程开始执行的场合 。 具体应用场景: 统计excle每个sheet数据(可以是银行流水...原创 2019-02-18 16:20:15 · 110 阅读 · 0 评论