Mastering Akka

程序是怎样运行的?
进程和线程

在当前抢占式多任务操作系统中,程序员几乎或者彻底失去了命令处理器调整程序执行次序的权利
将程序中的各个可执行部分分配给指定的处理器,通常是操作系统OS的工作,这种机制称作多任务处理,而且对计算机用户透明
进程是指被执行的计算机程序的一个实例
在同一个进程中出现的独立控制流实体称为线程,
在执行程序的过程中,每个线程都会描述程序栈和程序计数器的当前状态
可以将进程视为一组OS线程以及这些线程共享的内存和资源

启动一个新的JVM实例永远只会创建一个新的进程,在JVM进程中,多个线程可以同时运行,
JVM使用java.lang.Thread 类代表其线程

每当一个新的jvm进程开始运行时,默认情况下他都会创建多个线程。而这些线程中最重要的线程是主线程,该线程会执行scala 程序中的main方法

线程池:基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多的线程(都还生龙活虎的),池中的线程执行调度由池管理器来处理,当有线程任务时,从池中取出一个,执行完成后将线程对象归还给线程池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。


akka中文文档

Actor 系统

Actor 是封装状态和行为的对象,他们唯一的通讯方式是交换消息--把消息存放在接收方的邮箱里

  • 我觉得我距离akka的大门很近了,加油、

  • akka是瑞士的一座山

  • actor 模型是为了减少共享状态

object jingtaitiaojian { def main(args: Array[String]): Unit = { var i, j = 0 (1 to 10000).foreach(_ => i = i + 1) (1 to 10000).foreach(_ => Future(j = j + 1)) Thread.sleep(1000) println(s"i $i and j $j") } }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 9,148评论 0 11
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,382评论 30 472
  • Actor系统的实体 在Actor系统中,actor之间具有树形的监管结构,并且actor可以跨多个网络节点进行透...
    JasonDing阅读 8,698评论 2 6
  • 我以为我眷恋远方,我以为命运的指引在有诗的远方,我以为远行,只是远行,没有分别,没有不舍。 我以为我爱的人...
    柳昕薇絮阅读 1,501评论 0 2
  • 没有想到第一次正式作业的题目是“观察”。作为IP律师,不由自主地开始观察作业中的版权问题,曾经见过太多“一张图片引...
    田小状阅读 1,950评论 2 3