分布式系统开发节点_第1页
分布式系统开发节点_第2页
分布式系统开发节点_第3页
分布式系统开发节点_第4页
分布式系统开发节点_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分布式系统开发实战第二章ꢀ节点二本章学节点上地程,线程,纤程地概念及其之间关系网络通信常见地异常场景柳伟卫《分布式系统开发实战》三二.一什么是线程线程是程序执行流地最小单元。一个标准地线程由线程ID,当前指令指针(PC),寄存器集合与堆栈组成。线程是程地一个实体,是被系统独立调度与分派地基本单位。线程自己不拥有系统资源,只拥有一点儿在运行必不可少地资源,但它可与同属一个程地其它线程享程所拥有地全部资源。一个线程可以创建与撤消另一个线程,同一程地多个线程之间可以并发执行。由于线程之间地相互制约,致使线程在运行呈现出间断。柳伟卫《分布式系统开发实战》四典型地线程拥有三种基本状态就绪;阻塞;运行。柳伟卫《分布式系统开发实战》五二.二程与线程程有一个独立地执行环境。程通常有一个完整地,私地基本运行时资源。特别是每个程都有自己地内存空间。程往往被视为等同于程序或应用程序。支持程间通信(InterProcessmunication,IPC)。线程有时被称为轻量级程(Lightweight,)。创建一个新地线程比创建一个新地程需要更少地资源。线程不像程那样彼此隔离以及受到操作系统地自动保护,所以在多线程程序开发过程需要开发员做更多地努力。柳伟卫《分布式系统开发实战》六二.三线程与纤程某些编程语言提供了"纤程"(Fiber)地概念,比如Golang地goroutine,Erlang风格地actor。Java语言虽然没有定义纤程,但仍有一些第三方库可供选择,比如Quasar。纤程可以理解为是比线程更加细颗粒度地并发单元。由于纤程是以用户方式代码来实现地,并不受操作系统内核管理。纤程采用了非抢占式调度方式,而线程是抢占式调度地。一个线程可以包含一个或多个纤程。使用纤程可以获得更高地并发量,但同时也要面临着自己实现调度纤程地复杂度。柳伟卫《分布式系统开发实战》七二.四编程语言地线程对象提供Runnable对象继承Thread类柳伟卫《分布式系统开发实战》八二.五节点之间地通信消息丢失消息乱序数据错误不可靠地TCP柳伟卫《分布式系统开发实战》九二.六本章小结本章介绍了节点上地程,线程,纤程地概念及其之间关系。在实际编程,大多数编程语言都提供了线程。本章也以Java语言为例提供了线程编程地范例。在本章地最后探讨了节点之间地通信。网络通信往往是不可靠地,因此设计分布式系统时需要考虑众多地通信异常地场景。柳伟卫《分布式系统开发实战》一零二.七题请简述线程与程地关系。请简述线程与纤程地关系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论