![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 83
酒剑随马@
努力变强
展开
-
sleep和wait的区别
① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。sleep不出让系统资源;w原创 2017-09-21 14:07:44 · 261 阅读 · 0 评论 -
线程安全与线程不安全和如何避免死锁
线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。线程不安全就是不提供数据访问保护,有可能出现多个线程先...原创 2017-10-22 09:36:22 · 759 阅读 · 0 评论 -
实现线程同步的方式
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。volatile可以提供变量的可见性,部分有序性,并不能提供原子性,因此并不能保证线程同步,可以看下面这个链接...原创 2017-10-13 15:36:28 · 220 阅读 · 0 评论 -
线程池
先上个代码public class ThreadPool { public static void main(String[] args) throws Exception{ ExecutorService es1 = Executors.newCachedThreadPool(); ExecutorService es2 = Executors.ne...原创 2019-05-20 23:08:45 · 133 阅读 · 0 评论 -
java中锁和synchorized的底层实现
java中要实现线程同步有两种方式:(显性锁)锁和(隐性锁)synchorized。synchnorized关键字:包括两种方式同步方法和同步代码块,它包括两种加锁方式,锁对象和锁类。(1)如果一个synchnorized的锁作用域是一个实例对象,假如该实例对象有多个synchorized方法或代码块,只要一个线程访问了该对象的一个synchorized方法(代码块),其它线程就不再能访问...原创 2019-06-12 23:40:25 · 1806 阅读 · 0 评论 -
ThreadLocal
ThreadLocal可以保存一个共享变量,在多线程环境下,每个线程可以对自己所获取的变量副本进行操作,而不会影响其他线程的变量副本。在ThreadLocal中主要有get()获取当前线程共享变量副本的值,set(T value)设置当前线程共享变量副本的值,intialValue()初始化当前线程共享变量副本的值。ThreadLocal初始化时可以重写intialValue进行初始化,否则默...原创 2019-06-25 23:22:47 · 311 阅读 · 1 评论 -
synchronzied锁升级、锁粗化、锁消除
synchronized锁可以分为:偏向锁、轻量级锁、重量级锁。(1)偏向锁:根据研究发现,大部分的同步方法都是只有一个线程来重复的获取它,并不存在多线程来竞争锁的使用权,为了避免直接加锁造成的资源消耗,一开始获取同步方法使用权的时候使用的是偏向锁。当一个线程A想要获取同步方法使用权时,会先获取锁对象头部mark word区域的threadId变量,如果它为空或者threadId指向的是当...原创 2019-06-30 20:17:16 · 312 阅读 · 0 评论 -
线程池运行及拒绝策略
java中创建线程池的核心是使用ThredPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,TimeUnit unit, BlockingQueue<Runnable> workQueue)(1)当一个任务到来的时候如何它的核...原创 2019-06-30 20:54:44 · 2161 阅读 · 0 评论