本文介绍 hazelcast 中 IAtomicReference 的使用。
IAtomicReference 的基础使用
首先放上基础代码
示例代码
代码主要包含两部分:
- hazelcast IAtomicReference 的配置
- 通过 semaphore 对多线程操作资源进行限制
本文介绍hazelcast中Ringbuffer的使用。
首先放上基础代码
示例代码
代码主要包含三部分:
通过运行main方法即可以看到Ringbuffer的生产和消费,虽然有报错异常,但是用来说明Ringbuffer的生产、消费机制已经足够了。
这里注意一下Ringbuffer与Queue的区别
,Queue被消耗后就不存在了,但是Ringbuffer可以让不同消费者以不同的offset进行消费,只要这个指针大于等于headSequence,小于等于tailSequence即可。
今天Github开放了个人账户无限私有仓库!以前在coding.net有几个私有仓库,赶紧顺便迁移过来。
本文介绍hazelcast中Queue、MultiMap、Set、List的使用。
首先是一个简单的例子,生产者-消费者模式。
Producer代码
Consumer代码
启动一个生产者会以1秒1个的速度放入队列数据,最后放入-1。
消费者会每5秒消费一个队列数据,如果取得的数据为-1,则停止。停止前再次放入一个-1。
这样可以启动多个消费者共同消费同一个队列,当消费完毕后同时停止。并且由于都是在同一个机器执行,hazelcast自身会组成一个集群,所以queue消息共享。