当前位置: 首页 > news >正文

广州网站建设q479185700棒网页设计的完整流程

广州网站建设q479185700棒,网页设计的完整流程,app公司的组织结构,百度云 wordpress 教程视频1.1 什么是并发 并发#xff1a;指两个或更多独立的活动同时发生。并发在生活中随处可见。我们可以一边走路一边说话#xff0c;也可以两只手同时做不同的动作。 1.1.1 计算机系统中的并发 当我们提到计算机术语的“并发”#xff0c;指的是在单个系统里同时执行多个独立…1.1 什么是并发 并发指两个或更多独立的活动同时发生。并发在生活中随处可见。我们可以一边走路一边说话也可以两只手同时做不同的动作。 1.1.1 计算机系统中的并发 当我们提到计算机术语的“并发”指的是在单个系统里同时执行多个独立的活动而不是顺序地或是一个接一个地。 这并不是一种新的现象多任务操作系统通过任务切换允许一台计算机在同一时间运行多个应用程序已司空见惯多年一些高端的多任务处理服务器实现并发控制的历史更久远。真正有新意的是增加计算机真正并行运行多任务的普遍性而不只是给人这种错觉。 以前大多数计算机都有一个处理器具有单个处理单元或核心至今许多台式机器仍是这样。这种计算机在某一时刻只可以真正执行一个任务但它可以每秒切换任务许多次。通过做一点这个任务然后再做一点别的任务看起来像是任务在并行发生。这就是任务切换(task switching)。 我们仍然将这样的系统称为并发(concurrency) 因为任务切换得太快以至于无法分辨任务在何时会被暂挂而切换到另一个任务。 任务切换给用户和应用程序本身造成了一种并发的假象。由于这只是并发的假象当应用程序执行在单处理器任务切换环境下与在真正的并发环境下执行相比其行为还是有着微妙的不同。特别地对内存模型不正确的假设(参见第5章)在这样的环境中可能不会出现。这将在第10章中作深人讨论。 包含多个处理器的计算机用于服务器和高性能计算任务已有多年现在基于单个芯片上具有多于一个核心的处理器(多核心处理器)的计算机也成为越来越常见的台式机器。无论它们拥有多个处理器或一个多核处理器(或两者兼具)这些计算机能够真正的并行运行超过一个任务。我们才称之为硬件并发(hardware concurreney)。 图1.1显示了一个计算机处理恰好两个任务时的理想情景每个任务被分为10个相等大小的块。在一个双核机器(具有两个处理核心)中每个任务可以在各自的核心执行。在单核机器上做任务切换时每个任务的块交织进行。但它们也隔开了一位(图中所示灰色分隔条的厚度大于双核机器的分隔条)。为了实现交替进行该系统每次从一个任务切换 到另一个时都得执行一次上下文切换(context switch) 而这是需要时间的。为了执行上下文切换操作系统必须为当前运行的任务保存CPU的状态和指令指针算出要切换到哪个任务并为要切换的任务重新加载处理器状态。然后CPU可能要将新任务的指令和数据的内存载入到缓存中这可能会阻止CPU执行任何指令造成进一步的延迟。 尽管硬件并发的可用性在多处理器或多核系统上更显著有些处理器却可以在一个核心上执行多个线程。要考虑的最重要的因素是硬件线程( hardware threads)的数量即硬件可以真正并发运行多少独立的任务。即便是具有真正硬件并发的系统也很容易有超过硬件可并行运行的任务要执行所以在这些情况下任务切换仍将被使用。例如在一个典型的台式计算机上可能会有几百个的任务在运行执行后台操作即使计算机在名义上是空闲的。正是任务切换使得这些后台任务可以运行并使得你可以同时运行文字处理器、编译器、编辑器和web浏览器(或任何应用的组合)。图1.2显示了四个任务在一台双核机器上的任务切换仍然是将任务整齐地划分为同等大小块的理想情况。实际上许多因素造成了分割不均和调度不规则。这些因素中的一部分将涵盖在第8章中那时我们再来看一看影响并行代码性能的因素。 所有的技术、功能和本书所涉及的类都可以使用无论你的应用程序是在单核处理器还是多核处理器上运行也不管是任务切换或是真正的硬件并发。但你可以想象如何在你的应用程序中使用并发很大程度上取决于可用的硬件并发。这将在第8章中涵盖在第8章我们具体研究C代码并行设计问题。 1.1.2 并发的途径 想象一下两个程序员一起做一个软件项目。如果你的开发人员在独立的办公室它们可以各自平静地工作而不会互相干扰并且他们各有自己的一套参考手册。然而沟通起来就不那么直接了不能转身然后互相交谈他们必须用电话、电子邮件或走到对方的办公室。同时你需要掌控两个办公室的开销还要购买多份参考手册。 现在想象一下把开发人员移到同一间办公室。他们现在可以地相互交谈来讨论应用程序的设计他们也可以很容易地用纸或白板来绘制图表辅助阐释设计思路。你现在只有一个办公室要管理只要一组资源就可以满足。消极的一面是 他们可能会发现难以集中注意力并且还可能存在资源共享的问题(“参考手册跑哪去了?”)。 组织开发人员的这两种方法代表着并发的两种基本途径。每个开发人员代表一个线程每个办公室代表一个处理器。第一种途径是有多个单线程的进程这就类似让每个开发人员在他们自己的办公室而第二种途径是在单一进程里有多个线程这就类似在同一个办公室里有两个开发人员。你可以随意进行组合并且拥有多个进程其中一些是多线程的一些是 单线程的但原理是一样的。让我们在一个应用程序中简要地看一看这两种途径。 1.多进程并发 在一个应用程序中使用并发的第一种方法 是将应用程序分为多个、独立的、单线程的进程它们运行在同一时刻就像你可以同时进行网页浏览和文字处理。这些独立的进程可以通过所有常规的进程间通信渠道互相传递信息(信号、套接字、文件、管道等)如图1.3所示。有一个缺点是这种进程之间的通信通常设置复杂或是速度较慢或两者兼备因为操作系统通常在进程间提供了大量的保护以避免一个进程不小心修改了属于另一个进程的数据。另一 个缺点是运行多个进程所需的固有的开销启动进程需要时 间操作系统必须投入内部资源来管理进程等等。 当然也并不全是缺点操作系统在线程间提供的附加 保护操作和更高级别的通信机制意味着可以比线程更容易地编写安全的并发代码。事实上类似于为Erlang 编程语言提供的环境可使用进程作为重大作用并发的基本构造块。使用独立的进程实现并发还有一个额外的优势——你可以通过网络连接的不同的机器上运行独立的进程。虽然这增加了通信成本但在一个精心设计的系统上它可能是一个提高并行可用行和提高性能的低成本方法。 2.多线程并发 并发的另一个途径是在单个进程中运行多个线程。线程很像轻量级的进程每个线程相互独立运行且每个线程可以运行不同的指令序列。但进程中的所有线程都共享相同的地址空间并且从所有线程中访问到大部分数据一全局变量仍然是全局的指针、对象的引用或数据可以在线程之间传递。虽然通常可以在进程之间共享内存但这难以建立并且通常难以管理因为同一数据的内存地址在不同的进程中也不尽相同。图1.4显示了一个进程中的两个线程通过共享内存进行通信。 共享的地址空间以及缺少线程间的数据保护使得使用多线程相关的开销远小于使用多进程因为操作系统有更少的簿记要做。但是共享内存的灵活性是有代价的如果数据要被多个线程访问那么程序员必须确保当每个线程访问时所看到的数据是一致的。线程间数据共享可能会遇到的问题、所使用的工具以及为了避免问题而要遵循的准则在本书中都有涉及特别是在第3、4、5和8章中。这些问题并非不能克服只要在编写代码时适当地注意即可但这却意味着必须对线程之间的通信作大量的思考。 相比于启动多个单线程进程并在其间进行通信启动单一进程中的多线程并在其间进行通信的开销更低这意味着若不考虑共享内存可能会带来的潜在问题它是包括C在内的主流语言更青睐的并发途径。此外C标准没有为进程间通信提供任何原生支持所以使用多进程的应用程序将不得不依赖平台相关的API来实现。因此本书专门关注使用多线程的并发并且之后提到并发均是假定通过使用多线程来实现的。 明确了什么是并发后现在让我们来看看为什么要在应用程序中使用并发。
http://www.hkea.cn/news/14281703/

相关文章:

  • 外贸网站搜索引擎优化方法wordpress 3d翻书特效
  • 荣县规划和建设局网站仿站容易还是建站容易
  • 专业模板建站价格永仁县建设信息网站
  • 网站开发后怎么转安卓app付费小说网站建设
  • 建设一个网站是不必须备案wordpress 访问地址修改密码
  • 网站新增关键词多个网站 备案
  • 网上商城网站设计网站开发登录要做哪些验证
  • 深圳建设合同备案 网站汶上网站建设哪家好
  • 济南网站优化公司排名ui设计流程
  • 山东外贸建站自己电脑做网站
  • 怎样搭建网站网站备案查询工具
  • 网站上的高清动态图怎么做的c 网站开发连接mysql
  • 肇庆网站制作系统个人邮箱注册申请
  • 厦门网站建设一般多少钱网站开发项目思路
  • 太原网站建设开发公司流量统计网站推广法
  • 云南大学做行测的网站视频运营管理平台
  • 安徽省建设厅官方网站黄世山钢材进销存管理软件
  • 提供网站建设排行榜青原区城乡建设局门户网站
  • 中国住房城乡建设部网站做网站如何放入图像
  • 网站开发php和ui化妆品网站建设方案
  • 绵阳 网站 建设上海金融网站制作网站制作公司好
  • tomcat建网站浙江网站建设推广公司哪家好
  • 领手工在家做的网站2019公司网站设计图片
  • 交通建设集团蓝商分公司网站互联网精准营销
  • 重庆可做网站 APP自己开发的app软件怎么申请专利
  • 国外 网站设计东莞推广就莞用服务平台
  • 大型网站怎么做seo网页设计欣赏网页设计模板
  • 公司网站如何注册广西桂林农业学校
  • 有做网站的吗茶叶flash网站
  • 学校网站系统管理网站运营阶段