随笔分类 -  多线程

摘要:一.CountDownLatch用法 CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 CountDownLatch 阅读全文 »
posted @ 2019-11-08 10:43 yaphetsfang 阅读(152) 评论(0) 推荐(0) 编辑
摘要:Lock读写锁机制可以实现! 在Java中Lock接口比synchronized块的优势是什么? Lock接口最大的优势是为读和写分别提供了锁。 1 import java.text.SimpleDateFormat; 2 import java.util.Date; 3 import java.u 阅读全文 »
posted @ 2019-11-08 10:36 yaphetsfang 阅读(545) 评论(0) 推荐(0) 编辑
摘要:阻塞队列与普通队列的不同在于。当队列是空的时候,从队列中获取元素的操作将会被阻塞,或者当队列满时,往队列里面添加元素将会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得 阅读全文 »
posted @ 2019-11-08 10:35 yaphetsfang 阅读(203) 评论(0) 推荐(0) 编辑
摘要:什么是死锁? 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 不适当的使用“synchronized”关键词来管理线程对特定对象的访问。“synchronized”关键词的作用是,确保在某个时刻只有一个线程被允许执行特定的代码块,因此 阅读全文 »
posted @ 2019-11-08 10:17 yaphetsfang 阅读(740) 评论(0) 推荐(0) 编辑
摘要:看代码 public static void main(String[] args) { // TODO Auto-generated method stub new MyThread().start(); new MyThread().start(); } class MyThread exten 阅读全文 »
posted @ 2019-11-08 10:03 yaphetsfang 阅读(303) 评论(0) 推荐(0) 编辑
摘要:生产者消费者模型是我们学习多线程知识的一个经典案例,一个典型的生产者消费者模型如下: public void produce() { synchronized (this) { while (mBuf.isFull()) { try { wait(); } catch (InterruptedExc 阅读全文 »
posted @ 2019-11-08 09:38 yaphetsfang 阅读(151) 评论(0) 推荐(0) 编辑
摘要:1.synchronized加同步格式: synchronized(需要一个任意的对象(锁)){ 代码块中放操作共享数据的代码。 } synchromized缺陷synchronized是java中的一个关键字,也就是说是java语言的内置的特性。 如果一个代码块被synchronized修饰,当一 阅读全文 »
posted @ 2019-09-21 08:34 yaphetsfang 阅读(1656) 评论(0) 推荐(0) 编辑
摘要:在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate 一、为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。 1、window 阅读全文 »
posted @ 2019-01-17 12:32 yaphetsfang 阅读(335) 评论(0) 推荐(0) 编辑
摘要:其实SpinWait的code 非常简单,以前看过很多遍,但是从来都没有整理过,整理也是再次学习吧。 我们先看看SpinWait的一些评论或者注意点吧:如果等待某个条件满足需要的时间很短,而且不希望发生昂贵的上下文切换,那么基于自旋的等待是一种很好的替换方案,SpinWait不仅提供了基本自旋功能, 阅读全文 »
posted @ 2019-01-11 13:46 yaphetsfang 阅读(444) 评论(0) 推荐(0) 编辑
摘要:ManualResetEvent是C#中一个比较常用的工具,可用于线程间通信,实现一种类似信号量的功能(不知道我这样描述是否恰当,有可能不是“类似”,而“就是”通过信号量来实现的,因为我也是最近才知道这个类,以前一直不知道,哈哈。如果有哪位清楚的话,请给我解惑。)。 先了解一下ManualReset 阅读全文 »
posted @ 2019-01-03 16:29 yaphetsfang 阅读(275) 评论(8) 推荐(0) 编辑

点击右上角即可分享
微信分享提示