随笔分类 -  线程

摘要:真的!讲得太清楚了!https://blog.csdn.net/MingHuang2017/article/details/79571529 真的是解惑了 本文所说的“核心线程”、“非核心线程”是一个虚拟的概念,是为了方便描述而虚拟出来的概念,在代码中并没有哪个线程被标记为“核心线程”或“非核心线程 阅读全文
posted @ 2019-08-16 10:05 DDiamondd 阅读(6315) 评论(1) 推荐(1)
摘要:原文: https://blog.csdn.net/xiong_hui_hui/article/details/51241338 多线程编程要确保并发程序正确地执行,必须要保证原子性、可见性以及有序性,缺一不可,不然就可能导致结果执行不正确。 1. 原子性 即一个操作或者多个操作 要么全部执行并且执 阅读全文
posted @ 2019-08-15 10:35 DDiamondd 阅读(550) 评论(0) 推荐(0)
摘要:原文:https://www.jianshu.com/p/46bd98ea9845 公平锁与非公平锁:https://www.cnblogs.com/DDiamondd/p/11316393.html 自旋锁与阻塞锁: 自旋锁:是指当线程获取锁失败的时候,去执行一个无意义的循环,循环结束后再重新去竞 阅读全文
posted @ 2019-08-08 15:35 DDiamondd 阅读(643) 评论(0) 推荐(0)
摘要:乐观锁:每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。 悲观锁:总是悲观的认为某个线程在处理某份资源的时候,会有别的线程来修改资源,所以在资源上加锁,一旦某个线程获取该锁,别的线程想要获取该资源就会阻塞直至获取锁的线程释放该锁(独占锁 synchronzied R 阅读全文
posted @ 2019-08-08 15:30 DDiamondd 阅读(204) 评论(0) 推荐(0)
摘要:参考:https://www.jianshu.com/p/f584799f1c77 公平锁:在获取锁之前会先判断等待队列是否为空或者自己是否位于队列头部,满足条件通过才能继续获取锁。否则就进入等待队列中等待 FIFO 非公平锁:线程在获取锁的时候 直接去尝试获取锁,获取不到就自动到队尾等待()。进入 阅读全文
posted @ 2019-08-07 17:01 DDiamondd 阅读(385) 评论(0) 推荐(0)
摘要:参考:https://www.cnblogs.com/takumicx/p/9338983.html ReentrantLock可重入锁:jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantLock。虽然在性能上ReentrantLock和synchronize 阅读全文
posted @ 2019-08-07 16:17 DDiamondd 阅读(254) 评论(0) 推荐(0)
摘要:【 线程池的作用,Executors创建线程池,常见工作队列】:https://www.jianshu.com/p/6c6f396fc88e 【Exectros方式创建线程池和ThreadPoolExecutor的构造函数创建线程池】:https://blog.csdn.net/hollis_chu 阅读全文
posted @ 2019-08-03 08:50 DDiamondd 阅读(209) 评论(0) 推荐(0)
摘要:sleep() 属于Thread的方法,不释放锁,自动唤醒或者interrupt打断 wait() 属于Object的方法,释放锁,不会被自动唤醒,用notify() or notifyall()唤醒 notify() / notifyall() 唤醒 任意一个 / 全部 在此对象上等待的线程 Wa 阅读全文
posted @ 2019-08-02 20:12 DDiamondd 阅读(224) 评论(0) 推荐(0)
摘要:属于本地方法 /** * A hint to the scheduler that the current thread is willing to yield * its current use of a processor. The scheduler is free to ignore thi 阅读全文
posted @ 2019-08-02 20:02 DDiamondd 阅读(1016) 评论(2) 推荐(0)
摘要:http://blog.itpub.net/31555134/viewspace-2221319/ 一直对join()方法不是很理解,在A线程中, B线程调用了join()方法,然后在内部实际是wait()方法,但是在效果上是A线程一直在等待,对wait()方法的调用不是很理解。(希望有朋友能够给我 阅读全文
posted @ 2019-08-02 19:36 DDiamondd 阅读(1158) 评论(0) 推荐(0)

TOP