![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程/高并发
__Forever__
Coder;
算法爱好者;
数学建模爱好者;
研究生期间软件硬件都做,-_-||
热爱交朋友,探讨程序世界的美妙;
目前工作从事C,C++,Linux;
邮箱:Fugangli@foxmail.com,欢迎骚扰!
展开
-
Java中Lock与synchronized 的区别
Lock与synchronized 的区别1.ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定,如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断如果使用ReentrantLock,如果A不释放,可以使B在等待了...原创 2019-08-05 10:14:41 · 370 阅读 · 0 评论 -
Java 多线程编程(一)之synchronized关键字
synchronized关键字在java编程中,经常需要用到同步,而用得最多的也许是synchronized关键字了。在编写一个类时,如果该类中的代码可能运行在多线程环境下,会同时被多个线程访问的资源,就是竞争资源,也称为竞争条件。对于多线程共享的资源我们必须进行同步,以避免一个线程的改动被另一个线程所覆盖。需要注意的是synchronized关键字锁的是对象,而不是代码,请看下面两个例子。...原创 2019-07-21 19:54:02 · 174 阅读 · 0 评论 -
Java 多线程编程(二)之同步和非同步方法是否可以同时调用?
/** * 同步和非同步方法是否可以同时调用? * 分析一下这个程序的输出 * @author Forever * */public class Java_dxc007 { public synchronized void m1() { System.out.println(Thread.currentThread().getName()+"m1 start..."); ...原创 2019-07-21 20:29:00 · 355 阅读 · 0 评论 -
Java 多线程编程(三)之 synchronized锁的重入2
这个例子更加直观:/** * synchronized锁的重入 * 也就是一个同步方法调用另外一个同步方法,一个线程已经拥有某个对象的锁,再次申请的时候任然会得到该对象的锁 * 这里是继承中有可能发生的情形,子类调用父类的同步方法 * @author Forever * */import java.util.concurrent.TimeUnit;public class Jav...原创 2019-07-21 21:16:04 · 67 阅读 · 0 评论 -
Java 多线程编程(四)之锁的释放(异常出现)
知识点:synchronized 获取的锁,在方法抛出异常的时候会自动解锁/** * 程序在执行过程中,如果出现异常,默认情况锁会被释放 * 所以在并发处理过程中,有异常要多加小心,不然可能会发生不一致的情况 * 比如,在一个web app处理过程中,多个servlet线程共同访问同一个资源,这时如果异常处理不合适 * 在第一个线程中抛出异常,其他线程就会进入同步代码区,有可能会访问到异...原创 2019-07-22 06:59:14 · 468 阅读 · 0 评论 -
Java 多线程编程(五)之线程可见性volatile 关键字2
/** * @author Forever * volatile 关键字, 使一个变量在多个线程间可见 * A B线程都用到了一个变量,java默认是A线程中保留一份copy,这样如果B线程修改了该变量,则A线程未必知道 * 使用volatile关键字,会让所有线程都会读到变量的修改值 * * 在下面的代码中,running是存在于堆内存的t对象 * 当线程t1开始运行时,会把r...原创 2019-07-22 07:36:06 · 203 阅读 · 0 评论 -
Java线程池知识点总结
1.什么是线程池?可以理解为一组线程实时处于休眠状态,等待唤醒执行。2.为什么要有线程池?其一、减少在创建和销毁线程上所花的时间以及系统资源的开销 。其二、将当前任务与主线程隔离,能实现和主线程的异步执行,特别是很多可以分开重复执行的任务。但是,一味的开线程也不一定能带来性能上的,线池休眠也是要占用一定的内存空间,所以合理的选择线程池的大小也是有一定的依据。3.创建线程池的四种方法?...原创 2019-07-22 16:58:36 · 137 阅读 · 0 评论