- 浏览: 755205 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lgh1992314:
a offset: 26b offset: 24c offse ...
java jvm字节占用空间分析 -
ls0609:
语音实现在线听书http://blog.csdn.net/ls ...
Android 语音输入API使用 -
wangli61289:
http://viralpatel-net-tutorials ...
Android 语音输入API使用 -
zxjlwt:
学习了素人派http://surenpi.com
velocity宏加载顺序 -
tt5753:
谢啦........
Lucene的IndexWriter初始化时的LockObtainFailedException的解决方法
接上面java actor模型框架ujavaactor http://zhwj184.iteye.com/admin/blogs/1613351,上面的示例比较复杂,写一个简单点的示例:
import java.util.HashMap; import java.util.Map; import com.ibm.actor.AbstractActor; import com.ibm.actor.Actor; import com.ibm.actor.DefaultActorManager; import com.ibm.actor.DefaultMessage; import com.ibm.actor.Message; public class TestActor extends AbstractActor { private Actor to; public void setTestActor(Actor sendTo) { this.to = sendTo; } @Override public void activate() { super.activate(); } @Override public void deactivate() { logger.trace("TestActor deactivate: %s", getName()); super.deactivate(); } @Override protected void runBody() { DefaultMessage m = new DefaultMessage("message->from :" + getName(), 20); getManager().send(m, null, this); } @Override protected void loopBody(Message m) { String subject = m.getSubject(); int count = (Integer) m.getData(); if (count > 0) { m = new DefaultMessage("message->from :" + getName(), count - 1); System.out.println(getName() + ":" + subject + " data:" + m.getData()); getManager().send(m, this, to); } } public static void main(String[] args) { DefaultActorManager am = new DefaultActorManager(); Map<String, Actor> actors = new HashMap<String, Actor>(); try { Map<String, Object> options = new HashMap<String, Object>(); options.put(DefaultActorManager.ACTOR_THREAD_COUNT, 2); am.initialize(options); TestActor a = (TestActor) am.createActor(TestActor.class, "actor0"); actors.put(a.getName(), a); TestActor b = (TestActor) am.createActor(TestActor.class, "actor1"); actors.put(b.getName(), b); a.setTestActor(b); b.setTestActor(a); for (String key : actors.keySet()) { am.startActor(actors.get(key)); } Thread.sleep(10000000); // am.terminateAndWait(); } catch (Exception e) { } } }
输出:
actor0:message->from :actor0 data:19 actor1:message->from :actor1 data:19 actor1:message->from :actor0 data:18 actor0:message->from :actor1 data:18 actor1:message->from :actor0 data:17 actor0:message->from :actor1 data:17 actor0:message->from :actor1 data:16 actor1:message->from :actor0 data:16 actor1:message->from :actor0 data:15 actor0:message->from :actor1 data:15 actor0:message->from :actor1 data:14 actor1:message->from :actor0 data:14 actor0:message->from :actor1 data:13 actor1:message->from :actor0 data:13 actor0:message->from :actor1 data:12 actor1:message->from :actor0 data:12 actor1:message->from :actor0 data:11 actor0:message->from :actor1 data:11 actor0:message->from :actor1 data:10 actor1:message->from :actor0 data:10 actor0:message->from :actor1 data:9 actor1:message->from :actor0 data:9 actor1:message->from :actor0 data:8 actor0:message->from :actor1 data:8 actor0:message->from :actor1 data:7 actor1:message->from :actor0 data:7 actor1:message->from :actor0 data:6 actor0:message->from :actor1 data:6 actor0:message->from :actor1 data:5 actor1:message->from :actor0 data:5 actor1:message->from :actor0 data:4 actor0:message->from :actor1 data:4 actor1:message->from :actor0 data:3 actor0:message->from :actor1 data:3 actor1:message->from :actor0 data:2 actor0:message->from :actor1 data:2 actor1:message->from :actor0 data:1 actor0:message->from :actor1 data:1 actor1:message->from :actor0 data:0 actor0:message->from :actor1 data:0
发表评论
-
对字符串进行验证之前先进行规范化
2013-09-17 23:18 13957对字符串进行验证之前先进行规范化 应用系统中经常对字 ... -
使用telnet连接到基于spring的应用上执行容器中的bean的任意方法
2013-08-08 09:17 1482使用telnet连接到基于spring的应用上执行容器中 ... -
jdk7和8的一些新特性介绍
2013-07-06 16:07 10114更多ppt内容请查看:htt ... -
java对于接口和抽象类的代理实现,不需要有具体实现类
2013-06-12 09:50 2957原文链接:http://www.javaarch.net/j ... -
Excel2007格式分析和XML解析
2013-06-07 09:56 10746在物料清单采购中,用到excel上传文件解析功能,不 ... -
Java EE 7中对WebSocket 1.0的支持
2013-06-05 09:27 3846原文链接:http://www.javaarch.n ... -
java QRCode生成示例
2013-06-05 09:26 1516原文链接:http://www.javaarch.n ... -
Java Web使用swfobject调用flex图表
2013-05-28 19:05 1128Java Web使用swfobject调用 ... -
spring使用PropertyPlaceholderConfigurer扩展来满足不同环境的参数配置
2013-05-21 15:57 3344spring使用PropertyPlaceholderCon ... -
java国际化
2013-05-20 20:57 4478java国际化 本文来自:http://www.j ... -
RSS feeds with Java
2013-05-20 20:52 1226RSS feeds with Java 原文来自:htt ... -
使用ibatis将数据库从oracle迁移到mysql的几个修改点
2013-04-29 10:40 1679我们项目在公司的大战略下需要从oracle ... -
线上机器jvm dump分析脚本
2013-04-19 10:48 2911#!/bin/sh DUMP_PIDS=`p ... -
eclipse远程部署,静态文件实时同步插件
2013-04-06 20:18 5469eclipse 远程文件实时同步,eclipse远程 ... -
java价格处理的一个问题
2013-03-26 21:21 1841我们经常会处理一些价格,比如从运营上传的文件中将某 ... -
java 服务降级开关设计思路
2013-03-23 16:35 3772java 服务屏蔽开关系统,可以手工降级服务,关闭服 ... -
poi解析excel内存溢出
2013-03-20 22:21 6406真是悲剧啊,一个破内部使用系统20多个人使用的后 ... -
简单web安全框架
2013-03-16 11:56 1551web安全框架,主要用servlet filter方 ... -
基于servlet的简单的页面缓存框架
2013-03-11 19:27 1222基于servlet的页面级缓存框架的基本用法: 代码参考: ... -
Eclipse使用过程中出现java.lang.NoClassDefFoundError的解决方案
2013-02-01 17:22 1578如果jdk,classpath设置正确,突然在eclipse ...
相关推荐
Java Actor模型是一种并发编程模型,源自于...这些文件可以帮助读者更好地理解和实践Java中的Actor模型和消息传递机制。通过阅读和运行这些代码,可以加深对actor模型工作方式的理解,并学会如何在自己的项目中应用。
JActors则是专门针对Java设计的Actor库,它实现了Actor模型,帮助开发者以更简单的方式编写并发程序。 IBM作为一个全球知名的科技公司,也可能在他们的产品或服务中采用了Actor模型。例如,他们可能在分布式计算、...
Akka是轻量级、基于actor模型的框架,它用于构建高度并发、分布式和容错的应用程序。Scala是多范式编程语言,支持函数式和面向对象编程,与Akka的集成非常紧密。 Akka Actor是Akka的核心组件,它是一种并发原语,...
Java应用可以作为发布者或订阅者,发送或接收事件,而Dapr处理主题的管理和消息传递。 7. **Actor模型**: Dapr实现了基于Actor的计算模型,这是一种轻量级的并发和隔离机制。Java应用可以创建和管理Actor实例,每...
**Akka Actor 概述** ...总的来说,Akka Actor提供了一个强大且灵活的并发框架,它通过消息传递和Actor模型简化了并发编程的复杂性。学习和掌握Akka Actor对于开发高可用、可扩展的应用程序至关重要。
本篇将详细探讨在Udemy课程中的"实用Java并发与Akka Actor模型",旨在帮助开发者深入理解并应用Akka框架。 首先,Akka的核心概念是Actor系统。Actor模型源自于计算机科学理论,它提供了一种处理异步、分布式计算的...
- Actor模型是一种并发计算模型,其中每个Actor都是一个独立的实体,有自己的状态和行为,通过消息传递进行通信。ProtoActor实现了这种模型,使得开发者可以轻松地处理高并发和分布式场景下的复杂问题。 2. **...
总之,"轻量级java多线程池demo"通过结合Java多线程和Actor模型,提供了一种高效、可扩展的并发解决方案。通过学习和实践这样的示例,开发者可以更好地理解和掌握Java并发编程的技巧,提升软件的性能和可维护性。...
在给定的标题和描述中,我们看到这种模式被应用于构建分布式游戏服务端框架,并结合了Actor模型,这为创建轻量、高性能、高可用的分布式游戏后端提供了基础。 1. **ECS(实体组件系统)**: - **实体(Entity)**...
Akka 通过 Actor 模型来实现这一点,Actor 模型允许开发者以简单的方式构建可扩展且响应迅速的应用程序。 ##### 1.3 如何开始使用 Akka? 为了开始使用 Akka,你需要熟悉以下几个概念: - **Actor Systems**:管理 ...
一个简单的 Akka Java HelloWorld 示例通常包括: 1. 定义一个 Actor 类,重写 `createReceive` 方法来接收消息。 2. 创建 Actor 实例。 3. 发送消息给 Actor 并接收响应。 ##### 1.5 Use-case and Deployment ...
- **Akka 与 Java 内存模型的关系:** Akka 通过设计确保 Actor 之间的消息传递符合 Java 内存模型的规定。 **2.8 消息传递可靠性** - **可靠消息传递:** 介绍 Akka 如何保证消息不会丢失。 - **消息重传机制:** ...
Akka是由Lightbend公司(原Typesafe)开发的一个用于构建高度并发、分布式和反应式应用程序的工具包,它基于Actor模型,主要用Scala语言编写,但也支持Java。在Akka的帮助下,开发者可以构建出弹性、容错且高效的...
它的核心设计理念是Actor模型,这使得它能够处理大量的并发操作,同时保持系统的可扩展性和容错性。 Akka 实例参考通常会包含一系列的代码示例,这些示例旨在帮助初学者理解并掌握Akka的关键概念和用法。以下是一些...
2. **消息传递**: 在Actor模型中,Actor之间的通信是异步的,通过传递消息来实现。发送者将消息放入接收者的邮箱,然后继续执行其他任务,无需等待回复。这样避免了阻塞,提高了系统的吞吐量。 3. **隔离与封装**: ...
Akka是一个基于Actor模型的高性能、高并发框架,主要应用于Scala和Java平台。由Lightbend公司(前身为Typesafe)开发,它提供了构建分布式系统和容错应用程序的强大工具。Akka的核心设计理念是通过Actor模型来简化多...
在Actor模型中,每个Actor都是一个独立的执行单元,拥有自己的状态,并通过消息传递与其他Actor通信,从而实现并发和并行计算。 【源码分析】 由于提供的信息有限,我们只能根据“jactor”这个名字推测它可能包含...
- **Actor模型**:Akka基于Actor模型,每个Actor都有自己的邮箱和状态,通过消息传递实现并发。 - **Actor系统**:管理Actor的生命周期,调度和故障恢复。 - **路由与集群**:了解如何配置路由器进行消息分发,...
2. 消息传递模型:并发实体通过发送和接收消息来进行通信,例如Actor模型。 3. 并发控制流:在程序中显式创建多个任务,并控制它们的执行流程。 4. 数据并行模型:对数据集合应用同一操作,但将集合分割成更小的块,...