随笔分类 -  互联网架构师公开课-白鹤翔

上一页 1 2

disruptor架构三 使用场景 使用WorkHandler和BatchEventProcessor辅助创建消费者
摘要:在helloWorld的实例中,我们创建Disruptor实例,然后调用getRingBuffer方法去获取RingBuffer,其实在很多时候,我们可以直接使用RingBuffer,以及其他的API操作。我们一起熟悉下示例: 使用EventProcessor消息处理器。 BatchEventPro 阅读全文

posted @ 2017-10-12 14:19 luzhouxiaoshuai 阅读(3422) 评论(0) 推荐(0) 编辑

disruptor架构二
摘要:小故事:Disruptor说的是生产者和消费者的故事. 有一个数组.生产者往里面扔芝麻.消费者从里面捡芝麻. 但是扔芝麻和捡芝麻也要考虑速度的问题. 1 消费者捡的比扔的快 那么消费者要停下来.生产者扔了新的芝麻,然后消费者继续. 2 数组的长度是有限的,生产者到末尾的时候会再从数组的开始位置继续. 阅读全文

posted @ 2017-10-12 11:39 luzhouxiaoshuai 阅读(310) 评论(0) 推荐(0) 编辑

disruptor架构一
摘要:Disruptor是一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式的实现,或者事件监听模式的实现。 在使用之前,首先说明disruptor主要功能加以说明,你可以理解为他是一种高效的"生产者-消费者"模型。也就性能远远高于传统的BlockingQu 阅读全文

posted @ 2017-10-12 11:15 luzhouxiaoshuai 阅读(479) 评论(0) 推荐(0) 编辑

线程池基础二
摘要:我们来看程序的代码: 程序运行的结果是: t3线程进行初始化操作...t2线程进行初始化操作...t2线程初始化完毕,通知t1线程继续...t3线程初始化完毕,通知t1线程继续...t1线程继续执行... t1线程只有等t2和t3线程初始化完成之后才能执行..... 程序的运行结果是: lisi 准 阅读全文

posted @ 2017-10-09 15:36 luzhouxiaoshuai 阅读(132) 评论(0) 推荐(0) 编辑

线程池基础一
摘要:我们来看下面程序的代码:经典的生产者消费者来实现 程序的运行结果是: 当前线程:pool-1-thread-2, 获取了数据,id为:1, 进行装载到公共缓冲区中...当前线程:pool-1-thread-1, 获取了数据,id为:2, 进行装载到公共缓冲区中...当前线程:pool-1-threa 阅读全文

posted @ 2017-10-09 14:48 luzhouxiaoshuai 阅读(146) 评论(0) 推荐(0) 编辑

多线程集成设计模式--MasterWorker模式讲解(一)
摘要:Master-Worker模式是常用的并行模式之一,它的核心思想是,系统有两个进程协作工作:Master进程,负责接收和分配任务;Worker进程,负责处理子任务。当Worker进程将子任务处理完成后,结果返回给Master进程,由Master进程做归纳汇总,最后得到最终的结果。一、什么是Maste 阅读全文

posted @ 2017-10-09 11:52 luzhouxiaoshuai 阅读(269) 评论(0) 推荐(0) 编辑

多线程集成设计模式--future模式
摘要:多线程开发可以更好的发挥多核cpu性能,常用的多线程设计模式有:Future、Master-Worker、Guard Susperionsion 一、什么是Future模型: 该模型是将异步请求和代理模式联合的模型产物。类似商品订单模型。见下图: 客户端发送一个长时间的请求,服务端不需等待该数据处理 阅读全文

posted @ 2017-10-09 11:07 luzhouxiaoshuai 阅读(279) 评论(0) 推荐(0) 编辑

线程基础9-quene讲解
摘要:在学习Java 多线程并发开发过程中,了解到DelayQueue类的主要作用:是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。 Dela 阅读全文

posted @ 2017-10-09 10:04 luzhouxiaoshuai 阅读(301) 评论(0) 推荐(0) 编辑

线程基础8-quene讲解
摘要:PriorityBlockingQueue是一个基于优先级堆的无界的并发安全的优先级队列(FIFO),队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序,具体取决于所使用的构造方法。 实现原理 PriorityBlockingQueue通过使用堆这种数据结构实 阅读全文

posted @ 2017-10-09 09:49 luzhouxiaoshuai 阅读(478) 评论(0) 推荐(0) 编辑

线程基础7
摘要:生产者和消费者不能同时进行,这里要注意没有实现读写分离,是有界的阻塞的队列,可以用来实现生产者和消费者模式 我们来看下面的代码: 程序运行的结果是: Exception in thread "main" java.lang.IllegalStateException: Queue full at j 阅读全文

posted @ 2017-09-30 16:07 luzhouxiaoshuai 阅读(149) 评论(0) 推荐(0) 编辑

线程编程基础六--单例和多线程
该文被密码保护。

posted @ 2017-09-30 14:46 luzhouxiaoshuai 阅读(1) 评论(0) 推荐(0) 编辑

线程新的总结
该文被密码保护。

posted @ 2017-09-30 14:28 luzhouxiaoshuai 阅读(2) 评论(0) 推荐(0) 编辑

线程基础五
该文被密码保护。

posted @ 2017-09-29 19:08 luzhouxiaoshuai 阅读(4) 评论(0) 推荐(0) 编辑

线程基础四
摘要:同步类容器 上面代码是正确的,能够保证10个线程线程安全的卖票 容器使用的是vector容器,内部使用的synchronize来实现线程安全 vector的add方法 上面的这些方法可以让非线程安全的集合变成线程安全的集合 hashtable和vector都是使用传统的synchronized来实现 阅读全文

posted @ 2017-09-29 18:47 luzhouxiaoshuai 阅读(114) 评论(0) 推荐(0) 编辑

线程基础三
摘要:使用wait和notify 模拟一个ArrayBlockingQueue 当调用put方法存储元素的时候,如果当前队列已经满了线程阻塞,当使用take获得当前队列的第一个元素的时候,如果队列为null线程阻塞 我们来看看下面的代码: 上面代码有几个地方需要注意: 第一因为是多线程操作 所以容器大小的 阅读全文

posted @ 2017-09-29 18:28 luzhouxiaoshuai 阅读(152) 评论(0) 推荐(0) 编辑

线程基础2
摘要:1、wait和notify 注意下面的几点: wait和notify是Object类的常用的方法 wait要释放锁对象 notify不释放锁对象 下面实现这样一个功能: 开启两个线程一个线程向一个list集合中添加元素 另外一个线程如果监听到第一个线程添加元素的编号是5,就退出该线程 如何实现了,我 阅读全文

posted @ 2017-09-29 17:18 luzhouxiaoshuai 阅读(181) 评论(0) 推荐(0) 编辑

线程基础一
该文被密码保护。

posted @ 2017-09-28 19:40 luzhouxiaoshuai 阅读(2) 评论(0) 推荐(0) 编辑

上一页 1 2

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

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