徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

并发计算

指数 并发计算

并发计算(Concurrent computing,或譯為並行處理、共時計算),是一種程式計算的形式,在系統中,至少有兩個以上的計算在同時運作,計算結果可能同時發生。用來實作並行系統(Concurrent system)的程式語言與各種演算法,統稱為並行計算。 並行程式通常被設計為互動式的運算過程,因為它的運算過程是不確定的,在設計上的難度較高。設計並行程式最大的挑戰,在於確保不同運算執行步驟間的互動或是通訊,能以正確的順序進行,同時,也要確保在不同執行步驟間共享的資源,能夠正確被存取。在這個領域的先驅人物有艾兹赫尔·戴克斯特拉、東尼·霍爾與泊·派克·漢森等人。.

45 关系: Ada參與者模式同步多处理机平行運算并发性并行计算交談循序程式互斥锁分布式计算C♯CilkClojureConcurrent Clean算法线程编程语言監視器 (程序同步化)ECMAScriptErlang行程訊息傳遞 (軟體)艾兹赫尔·戴克斯特拉處理器FortranGoJavaLabVIEWModula-2Modula-3NewsqueakOccamPerlPetri网PythonRustScalaSemaphoreVHDL抽象化 (計算機科學)東尼·霍爾泊·派克·漢森时间片操作系统

Ada

Ada,是一种程序设计语言。它源于美国军方的一个计划,旨在整合美军系统中运行着上百种不同的程序设计语言编写的程序,並提高除錯能力與效率,由Pascal及其他語言擴展而成,比較接近自然語言和數學表達式,並用「Ada」命名以紀念-zh-cn:埃达·洛夫莱斯;zh-tw:愛達·勒芙蕾絲;zh-hk:愛達·勒芙蕾絲;zh-sg:埃达·洛夫莱斯;-(Ada Lovelace)。.

新!!: 并发计算和Ada · 查看更多 »

參與者模式

在電腦科學中,參與者模式(Actor model)是一種並行運算上的模型。「參與者」是一種程式上的抽象概念,被視為並行運算的基本單元:當一個參與者接收到一則訊息,它可以做出一些決策、建立更多的參與者、傳送更多的訊息、決定要如何回答接下來的訊息。參與者模式在1973年於Carl Hewitt、Peter Bishop及Richard Steiger的論文中提出。.

新!!: 并发计算和參與者模式 · 查看更多 »

同步

同步(synchronization),指在一個系統中所發生的事件(event)之間進行協調,在時間上出現一致性與統一化的現象。在系統中進行同步,也被稱為及時(in time)或同步化的(synchronous, in sync)。.

新!!: 并发计算和同步 · 查看更多 »

多处理机

多處理器(Multiprocessor),是一個緊密耦合的電腦系統,擁有超過一個以上的處理單元,共享同一個主記憶體與周邊裝置,它能夠讓多個程式同時執行。這種電腦硬體架構,就稱為多處理器,它能夠提供多元處理(Multiprocessing)的能力。.

新!!: 并发计算和多处理机 · 查看更多 »

平行運算

#重定向 并行计算.

新!!: 并发计算和平行運算 · 查看更多 »

并发性

在计算机科学中,並行性(Concurrency)是指在一個系统中,擁有多個計算,這些計算有同时执行的特性,而且他们之间有着潛在的互動。因此系統可進行的執行路徑會有相當多個,而且結果可能具有不確定性。并发计算可能会在具備多核心的同一个晶片中复合运行,以优先分时线程在同一個處理器中執行,或在不同的处理器执行。 一些数理模型已經為解決一般的並行計算問題而發展,包括Petri网、进程、PRAM模型和參與者模式。.

新!!: 并发计算和并发性 · 查看更多 »

并行计算

并行计算(parallel computing)一般是指许多指令得以同时进行的计算模式。在同時進行的前提下,可以將計算的過程分解成小部份,之後以並行方式來加以解決。 電腦軟體可以被分成數個運算步驟來執行。為了解決某個特定問題,軟體採用某個演算法,以一連串指令執行來完成。傳統上,這些指令都被送至單一的中央处理器,以循序方式執行完成。在這種處理方式下,單一時間中,只有單一指令被執行(processor level: 比较微处理器,CISC, 和RISC,即流水线Pipeline的概念,以及后来在Pipeline基础上以提高指令处理效率为目的的硬件及软件发展,比如branch-prediction, 比如forwarding,比如在每个运算单元前的指令堆栈,汇编程序员对programm code的顺序改写)。平行運算採用了多個運算單元,同時執行,以解決問題。.

新!!: 并发计算和并行计算 · 查看更多 »

交談循序程式

交--談循序程式(Communicating sequential processes,縮寫為CSP),又譯為通--信顺序进程、交換訊息的循序程式,一種形式語言,用來描述並行性系統間進行互動的模式。最早起源於東尼·霍爾在1978年發表的論文。交談循序程式高度影響了Occam的設計,也影響了如Limbo與Go等程式語言。.

新!!: 并发计算和交談循序程式 · 查看更多 »

互斥锁

互斥锁(英语:Mutual exclusion,缩写 Mutex)是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。该目的通过将代码切片成一个一个的临界区域(critical section)达成。临界区域指的是一块对公共资源进行存取的代码,并非一种机制或是算法。一个程序、进程、线程可以拥有多个临界区域,但是并不一定会应用互斥锁。 需要此机制的资源的例子有:旗标、队列、计数器、中断处理程序等用于在多条并行运行的代码间传递数据、同步状态等的资源。维护这些资源的同步、一致和完整是很困难的,因为一条线程可能在任何一个时刻被暂停(休眠)或者恢复(唤醒)。 例如:一段代码(甲)正在分步修改一块数据。这时,另一条线程(乙)由于一些原因被唤醒。如果乙此时去读取甲正在修改的数据,而甲碰巧还没有完成整个修改过程,这个时候这块数据的状态就处在极大的不确定状态中,读取到的数据当然也是有问题的。更严重的情况是乙也往这块地方写数据,这样的一来,后果将变得不可收拾。因此,多个线程间共享的数据必须被保护。达到这个目的的方法,就是确保同一时间只有一个临界区域处于运行状态,而其他的临界区域,无论是读是写,都必须被挂起并且不能获得运行机会。.

新!!: 并发计算和互斥锁 · 查看更多 »

分布式计算

在計算機科學中,分布式计算(Distributed computing),又譯為--。這個研究領域,主要研究分散式系統(Distributed system)如何進行計算。分散式系統是一組電腦,透過網路相互连接傳遞訊息與通訊後并协调它们的行为而形成的系統。组件之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,再上传运算结果後,將結果统一合并得出数据结论的科学。分布式系统的例子来自有所不同的面向服务的架构,大型多人線上遊戲,对等网络应用。 目前常见的分布式计算项目通常使用世界各地上千万志愿者计算机的闲置计算能力,通过互联网进行数据传输(志愿计算)。如分析计算蛋白质的内部结构和相关药物的Folding@home项目,該项目結構庞大,需要惊人的计算量,由一台电脑计算是不可能完成的。虽然现在有了计算能力超强的超级計算機,但這些設備造價高昂,而一些科研机构的经费却又十分有限,藉助分佈式計算可以花費較小的成本來達到目標。.

新!!: 并发计算和分布式计算 · 查看更多 »

C♯

C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#以.NET框架类库作为基础,拥有类似Visual Basic的快速开发能力。C#由安德斯·海尔斯伯格主持开发,微软在2000年发布了这种语言,希望借助这种语言来取代Java。C#已经成为Ecma国际和国际标准组织的标准规范。.

新!!: 并发计算和C♯ · 查看更多 »

Cilk

Cilk是一種建基於C編程語言、為平行運算而設計的泛用式程式語言。.

新!!: 并发计算和Cilk · 查看更多 »

cω是一種尚在研究中的程序设计语言,專門應用於平行運算的編程語言。這種語言由微軟研究院開發。 根據微軟研究所,Cω是一種用作擴充C#的試驗性的語言,內裏包括新建的關聯性和準結構性的資料存取,與及異步並發計算。Cω主要在兩大範圍上擴充C#:.

新!!: 并发计算和Cω · 查看更多 »

Clojure

Clojure(發音類似"closure")是一套現代的Lisp語言的動態語言版。它是一个函数式多用途的语言。 Clojure可以執行於Java虛擬機,通用語言運行時以及JavaScript引擎之上。與其他Lisp一樣,Clojure認為同像性,同時擁有複雜的巨集。 Clojure最新的稳定版本是1.8,发布于2016年1月19日。第一个稳定版本1.0于2009年5月4日发布。 Clojure是一个在Eclipse公共许可证下发行的自由软件。目前其开发进程是社区主导的,在作者Rich Hickey以一个“终身的仁慈独裁者”的身份监督下进行。.

新!!: 并发计算和Clojure · 查看更多 »

Concurrent Clean

Concurrent Clean,簡稱Clean,是純函數式程序设计語言,它和Haskell有很多相似之處。Clean是用C寫成的。 Clean程式很容易跨平台,在大部分情況下,要轉移到另一個平台只需在那裏重新編譯一次即可,不用改動原始碼。.

新!!: 并发计算和Concurrent Clean · 查看更多 »

算法

-- 算法(algorithm),在數學(算學)和電腦科學之中,為任何良定义的具體計算步驟的一个序列,常用於計算、和自動推理。精確而言,算法是一個表示爲有限長列表的。算法應包含清晰定義的指令用於計算函數。 算法中的指令描述的是一個計算,當其時能從一個初始狀態和初始輸入(可能爲空)開始,經過一系列有限而清晰定義的狀態最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化算法在内的一些算法,包含了一些隨機輸入。 形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,並在其后尝试定义或者中成形。这些尝试包括库尔特·哥德尔、雅克·埃尔布朗和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的遞歸函數,阿隆佐·邱奇於1936年提出的λ演算,1936年的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當前,依然常有直覺想法難以定義爲形式化算法的情況。.

新!!: 并发计算和算法 · 查看更多 »

线程

线程(thread)是操作系统能夠進行運算调度的最小單位。它被包含在进程之中,是进程中的實際運作單位。一条线程指的是进程中一个单一顺序的控制流,一個进程中可以並行多個线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。 线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。 同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。 一个进程可以有很多线程,每条线程并行执行不同的任务。 在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。在单CPU单核的计算机上,使用多线程技术,也可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。.

新!!: 并发计算和线程 · 查看更多 »

编程语言

编程语言(programming language),是用来定义计算机程序的形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 最早的编程语言是在電腦發明之前產生的,當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言,而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序,而有些编程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。 编程语言的描述一般可以分為及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他55語言(像Perl)有一份主要的文件,視為是。.

新!!: 并发计算和编程语言 · 查看更多 »

監視器 (程序同步化)

-- (Monitors,也称为--) 是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享資源。這些共享資源一般是硬體裝置或一群變數。管程实现了在一个时间点,最多只有一个线程在执行管程的某个子程序。与那些通过修改数据结构实现互斥访问的并发程序设计相比,管程实现很大程度上简化了程序设计。 管程提供了一种机制,线程可以临时放弃互斥访问,等待某些条件得到满足后,重新获得执行权恢复它的互斥访问。 管程是东尼·霍尔 与泊·派克·漢森 提出的,并由泊·派克·漢森首次在并行Pascal中实现。东尼·霍尔证明了這與信号量是等價的。管程在当时也被用于單作業系統环境中的进程間通訊。 在程式語言Concurrent Pascal,Pascal-Plus,Modula-2,Modula-3,Mesa以及Java中都提供這個功能。.

新!!: 并发计算和監視器 (程序同步化) · 查看更多 »

ECMAScript

ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。.

新!!: 并发计算和ECMAScript · 查看更多 »

Erlang

Erlang()是一種通用的----,它由喬·阿姆斯特朗(Joe Armstrong)在瑞典電信設備製造商愛立信所轄的電腦科學研究室開發,目的是創造一種可以應付大規模開發活動的--和執行環境。Erlang於1987年釋出正式版本,最早是愛立信擁有的私有軟體,經過十年的發展,於1998年發表開放源碼版本。 Erlang是運作於虛擬機的--,但是現在也包含有烏普薩拉大學高性能Erlang計劃(HiPE)開發的原生程式碼編譯器,自R11B-4版本開始,Erlang也支持--。在編程範型上,Erlang屬於多重典範程式語言,涵蓋函數式、--及--。循序執行的Erlang是一个及早求值, 單次賦值和--的函數式程式語言。.

新!!: 并发计算和Erlang · 查看更多 »

行程

行程(process),是電腦中已執行程式的實體。行程為曾经是分時系統的基本運作單位。在面向进程设计的系统(如早期的UNIX,Linux 2.4及更早的版本)中,进程是程序的基本执行实体;在面向线程设计的系统(如当代多数操作系统、Linux 2.6及更新的版本)中,行程本身不是基本執行单位,而是執行緒的容器。程式本身只是指令、数据及其组织形式的描述,行程才是程式(那些指令和数据)的真正執行实例。若干行程有可能與同一個程式相關聯,且每個行程皆可以同步(循序)或异步(平行)的方式獨立執行。現代電腦系統可在同一段時間內以进程的形式将多個程式載入到記憶體中,並藉由時間共享(或稱时分复用),以在一個處理器上表現出同時(平行性)執行的感覺。同樣的,使用多執行緒技術(多執行緒即每一個執行緒都代表一個行程内的一个独立执行上下文)的作業系統或電腦架構,同樣程式的平行线程,可在多CPU主機或網絡上真正同時執行(在不同的CPU上)。.

新!!: 并发计算和行程 · 查看更多 »

訊息傳遞 (軟體)

在電腦科學中,訊息傳遞(Message passing)是一種通訊的形式,在并发计算、平行計算、物件導向程式設計與行程間通訊中使用。在這種模式中,行程或物件以傳送及接收訊息的方式來達成同步。 不同于传统程序设计通过名字直接调用(invoking)一个进程、子例程或者函数,訊息傳遞直接发送消息给一个进程,依赖进程或基础框架来调用实际执行的代码。 可分为同步方式与异步方式。.

新!!: 并发计算和訊息傳遞 (軟體) · 查看更多 »

艾兹赫尔·戴克斯特拉

艾兹赫尔·韦伯·戴克斯特拉(Edsger Wybe Dijkstra,,),又譯艾兹赫尔·韦伯·迪杰斯特拉,生於荷蘭鹿特丹,计算机科学家,是荷蘭第一位以程式為專業的科學家。曾在1972年获得图灵奖,之后,他还获得1974年AFIPS Harry Goode Memorial Award、1989年ACM SIGCSE计算机科学教育教学杰出贡献奖。 2002年,在他去世前不久,艾兹赫尔获得了ACM PODC(分布式计算原理)最具影响力论文奖,以表彰他在分布式领域中关于程序计算自稳定的贡献。为了纪念他,这个每年一度奖项也在此后被更名为“Dijkstra奖”。 他曾经提出“GOTO有害论”,信号量和PV原语,解决了有趣的“哲学家就餐问题”。.

新!!: 并发计算和艾兹赫尔·戴克斯特拉 · 查看更多 »

處理器

處理器可以指:.

新!!: 并发计算和處理器 · 查看更多 »

Fortran

福傳(Fortran),源自於「公式翻译」(Formula Translation)的縮寫,是一種程式語言。1957年由IBM開發出,是世界上第一个被正式采用並流传至今的高级编程語言。.

新!!: 并发计算和Fortran · 查看更多 »

Go

Go(又稱Golang)是Google開發的一种静态强类型、編譯型、-zh-hant:並發型;zh-hans:并发型-,并具有垃圾回收功能的编程语言。 ,羅勃·派克(Rob Pike)及肯·汤普逊於2007年9月开始设计Go,,稍後Ian Lance Taylor、Russ Cox加入專案。Go是基於Inferno作業系統所開發的。Go於2009年11月正式宣布推出,成為開放原始碼專案,并在Linux及Mac OS X平台上进行了實現,后来追加了Windows系统下的实现。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。.

新!!: 并发计算和Go · 查看更多 »

Java

Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,广泛应用于企业级Web应用开发和移动应用开发。 任職於昇陽電腦的詹姆斯·高斯林等人于1990年代初开发Java語言的雛形,最初被命名为Oak,目標設定在家用电器等小型系統的程式语言,應用在电视机、电话、闹钟、烤面包机等家用电器的控制和通訊。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代網際網路的发展,Sun公司看見Oak在網際網路上应用的前景,于是改造了Oak,於1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的-zh-hans:指针; zh-hant:指標;-,改以-zh-hans:引用; zh-hant:參照;-取代,同時移除了C++中的--和多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。昇陽電腦对Java语言的解释是:「Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言」 Java不同於一般的编译語言或直譯語言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的執行速度有了大幅提升。 与传统型態不同,Sun公司在推出Java時就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司後來推出了与之竞争的.NET平台以及模仿Java的C#语言。後來Sun公司被甲骨文公司併購,Java也隨之成為甲骨文公司的產品。 現時,行動作業系統Android大部分的代碼採用Java 程式設計語言編程。.

新!!: 并发计算和Java · 查看更多 »

LabVIEW

LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench,实验室虚拟仪器工程平台)是由美國國家儀器公司所開發的圖形化程式編譯平台,發明者為傑夫·考度斯基(Jeff Kodosky),程式最初於1986年在蘋果電腦上發表。LabVIEW早期是為了儀器自動控制所設計,至今轉變成為一種逐漸成熟的高階程式語言。圖形化程式與傳統程式語言之不同點在於程式流程採用"資料流"之概念打破傳統之思維模式,使得程式設計者在流程圖構思完畢的同時也完成了程式的撰寫。 LabVIEW率先引入了特別的虛擬儀表的概念,使用者可透過人機介面直接控制自行開發之儀器。此外LabVIEW提供的函式庫包含:訊號擷取、訊號分析、機器視覺、數值運算、邏輯運算、聲音震動分析、資料儲存...等。目前可支援Windows,UNIX,Linux,Mac OS等作業系統。由於LabVIEW特殊的圖形程式簡單易懂的開發介面,縮短了開發原型的速度以及方便日後的軟體維護,因此逐漸受到系統開發及研究人員的喜愛。目前廣泛的被應用於工業自動化之領域上。LabVIEW預設以 多线程執行程式,對於程式設計者更是一大利器。此外LabVIEW通訊介面方面支援:GPIB,USB,IEEE1394,MODBUS,串列埠,並行埠,IrDA,TCP,UDP,Bluetooth,.NET,ActiveX,SMTP...等介面。 近年來 LabVIEW 除了可以在 PC 上面撰寫之外,另外支援即時系統(Real-time OS)以及可程式邏輯閘陣列(Field Programmable Gate Array, FPGA)。使用者可以透過 LabVIEW 開發環境設計、編譯程式後下載至微處理器(Micro-processor)或 FPGA晶片,最終達到獨立運作(Stand-alone)的功能。但目前主要還是支援 NI 自行生產的嵌入式系統系列產品,通稱 NI-RIO 系列產品。比如:PCI/PXI R系列 DAQ卡片、CompactRIO、single-boardRIO、myRIO...等。.

新!!: 并发计算和LabVIEW · 查看更多 »

Modula-2

Modula-2是由图灵奖获得者尼克劳斯·维尔特(Niklaus Wirth)所提出的一个程式語言。Modula-2之名是根據其3個編譯單元的模組而來,這些模組分別為程式模組(Program Module),定義模組(Definition Module)及執行模組(Implementation Module)。 Wirth根據其早期對Pascal、模組程式語言(Modula)或稱為Modula-1程式語言及Alto電腦的經驗來定義Modula-2。在1976至1977年間,Wirth在Xerox Palo Alto研究中心與一群設計Alto電腦的工作夥伴一同工作,次年,他開始一個在瑞士聯邦理工學院資訊研究所的Lilith個人電腦計畫。該計畫主要的原則乃是以Modula-2為Lilith的系統程式語言,而以Lilith為Modula-2的組織架構。由於不需組譯器(Assembler),該語言不僅適用於編寫高階的應用程式,也應適用於編寫低階,與機器相關的編碼程式(Machine-Dependent Coding),用裝置的操控與儲存體的配置。 該語言本身與Lilith結構之設計,都以優雅及簡單為原則,在整個Lilith計畫的生命期中(1978-1988),作業系統、繪圖套裝軟體、資料庫系統、網路協議、檔案伺服器及許多其他系統和應用模組都是藉著Modula-2發展出來的。 Modula-2設計是讓其程式模組得以重複使用(Reuse)。它藉著提供一些標準程式庫,如異常處置(Exception Handling)、字串處理(String Processing)、輸入/輸出(I/O)及並行程式設計(Concurrent Programming)等來降低語言本身的複雜度。 一個Modula-2的定義模組(Definition Module)定義抽象化資料(Data Abstraction)的介面規格。一個定義模組是與其相對應的實作模組(Implementation Module)個別分開來編譯。一旦編譯好就不必再改變。一個定義模組(Definition Module)包含對常數、類型(Type)、變數及程序標頭的宣告。只有那些可能會被其他程式設計師引用到的程式標頭才會被宣告在定義模組內。那些相對應的執行模組包括區域性的常數、類型、變數宣告;以及外部程序和內部實作所需用到的程序定義。 程式是由上而下(Top-Down)的方式發展,其步驟乃是先建立若干定義模組,之後再隨著需要建立實作模組的部分。每一個實作模組可在其被呼叫前對其區域性的資料結構設定初始值。Modula-2也需偵測在實作模組內的資料是否已過時而導致資料的不一致。 Modula-2程式語言有幾項特色使其在電腦科學的發展過程中有著功不可沒的功勞。首先,它所提出的電腦架構、語言和作業環境的整合概念是一項創舉;其次,它強調程式設計師在使用者介面的設計上,至少需花費用同實作程式設計時所耗費的成本和努力。最後,它提出對抽象化資料的簡化。.

新!!: 并发计算和Modula-2 · 查看更多 »

Modula-3

在计算机科学领域中,Modula-3是一种作为Modula-2继任者的,Modula-2的升级版被誉为Modula+的编程语言。虽然它已在研究界是有影响力的(影响的语言的设计,如Java,C#和Python)还没有在工业上被广泛采用。它是由Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan (before at the Olivetti Software Technology Laboratory), Bill Kalsow and Greg Nelson在上世纪80年代末数字设备公司(DEC)系统研究中心(SRC)和Olivetti研究中心(ORC)设计.

新!!: 并发计算和Modula-3 · 查看更多 »

Newsqueak

Newsqueak,一種並行性程式語言,可在視窗系統上撰寫應用程式。它在1980年代末期在貝爾實驗室被開發出來,設計者為羅勃·派克。在語法上,它受到C語言的影響,但它在進行平行運算時,則受到東尼·霍爾的交談循序程式所啟發。 它的前身是Squeak,由Luca Cardelli與羅勃·派克設計的程式語言,可以用於實做图形用户界面(GUI)。.

新!!: 并发计算和Newsqueak · 查看更多 »

Occam

Occam,一種并行性程式語言,主要基於交談循序程式的程式代數,以及它的許多特色而實作。它的名稱來自於奥卡姆的威廉提出的奥卡姆剃刀(Occam's razor)原則。 類似於Pascal,Occam也是一種指令程序編程的程式語言。這個語言於1983年出現,由英國計算機科學家David May,以及Inmos的科學家,在東尼·霍爾提供顧問意見後,共同研發而成。.

新!!: 并发计算和Occam · 查看更多 »

Perl

Perl是高階、通用、直譯式、動態的程式语言家族。最初设计者拉里·沃尔為了讓在UNIX上進行報表處理的工作變得更方便,決定開發一個通用的腳本語言,而在1987年12月18日發表。目前,Perl语言家族包含两个分支Perl 5以及Perl 6(开发中)。 Perl借用了C、sed、awk、shell脚本以及很多其他程式語言的特性。其中最重要的特性是Perl内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。 2000年开始,目前拉里·沃尔开始開發Perl 6,來作為Perl的後繼;不過,Perl 6語言的語法有很多轉變,所以Perl 6被視為Perl家族中的另一個語言。 Perl语言的应用范围很广,除CGI以外,Perl被用于图形编程、系统管理、网络编程、金融、生物以及其他领域。由于其灵活性,Perl被称为脚本语言中的瑞士军刀。.

新!!: 并发计算和Perl · 查看更多 »

Petri网

佩特里网(Petri net),又譯為裴氏網、派翠網路,是对离散并行系统的数学表示。Petri网屬於離散事件動態系統,是1960年代由卡尔·亚当·佩特里发明的,适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式。 由于Petri网能表达并发的事件,被认为是自动化理论的一种。研究领域趋向认为Petri网是所有流程定义语言之母。.

新!!: 并发计算和Petri网 · 查看更多 »

Python

Python( ),是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以視之為一種改良(加入一些其他程式語言的優點,如物件導向)的LISP。作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比於C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。 与Scheme、Ruby、Perl、Tcl等动态类型编程语言一样,Python拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。 Python 解释器本身几乎可以在所有的操作系统中运行。Python的正式直譯器CPython是用C语言编写的、是一個由社群驱动的自由软件,目前由Python软件基金会管理。.

新!!: 并发计算和Python · 查看更多 »

Rust

Rust是一个由Mozilla主导开发的通用、编译型编程语言。它的设计准则为“安全,并发,实用”,支持函数式,并发式,程序式以及面向对象的编程风格。 Rust 語言原本是 Mozilla 員工 Graydon Hoare 的私人計畫,而 Mozilla 於 2009 年開始贊助這個計畫,並且在 2010 年首次揭露了它的存在。也在同一年,它的編譯器原始碼開始由原本的 OCaml 語言轉移到用 Rust 語言,進行 bootstrapping 工作,稱做 rustc,並於 2011 年實際完成.

新!!: 并发计算和Rust · 查看更多 »

Scala

Scala()是一门多范式的编程语言,设计初衷是要整合面向对象编程和函数式编程的各种特性。.

新!!: 并发计算和Scala · 查看更多 »

Semaphore

#重定向 信号量.

新!!: 并发计算和Semaphore · 查看更多 »

VHDL

VHDL,全称超高速集成电路硬件描述语言(VHSIC very high-speed hardware description language),在基于複雜可程式邏輯裝置、现场可编程逻辑门阵列和特殊應用積體電路的数字系统设计中有着广泛的应用。 VHDL语言诞生于1983年,1987年被美国国防部和IEEE确定为标准的硬件描述语言。自从IEEE发布了VHDL的第一个标准版本IEEE 1076-1987后,各大EDA公司都先后推出了自己支援VHDL的EDA工具。VHDL在电子设计行业得到了广泛的认同。此后IEEE又先后发布了IEEE 1076-1993和IEEE 1076-2000版本。.

新!!: 并发计算和VHDL · 查看更多 »

抽象化 (計算機科學)

在计算机科學中,抽象化(Abstraction)是將資料與程序,以它的語意來呈現出它的外觀,但是隱藏起它的實作細節。抽象化是用來減少程式的複雜度,使得程式設計師可以專注在處理少數重要的部份。一個電腦系統可以分割成幾個抽象層(Abstraction layer),使得程式設計師可以將它們分開處理。.

新!!: 并发计算和抽象化 (計算機科學) · 查看更多 »

東尼·霍爾

查爾斯·安東尼·理查德·霍爾爵士(Sir Charles Antony Richard Hoare,縮寫為C.

新!!: 并发计算和東尼·霍爾 · 查看更多 »

泊·派克·漢森

泊·派克·漢森(Per Brinch Hansen,),生於丹麥哥本哈根腓特烈斯贝,丹麥裔美國計算機科學家。在並行計算(Concurrent computing)理論及作業系統核心的發展上,有重要地位。他也是程式語言SuperPascal的設計者。.

新!!: 并发计算和泊·派克·漢森 · 查看更多 »

时间片

时间片(timeslice)又称为“量子(quantum)”或“处理器片(processor slice)”是分时操作系统分配给每个正在运行的进程微观上的一段CPU时间(在抢占内核中是:从进程开始运行直到被抢占的时间)。现代操作系统(如:Windows、Linux、Mac OS X等)允许同时运行多个进程 —— 例如,你可以在打开音乐播放器听音乐的同时用浏览器浏览网页并下载文件。事实上,由于一台计算机通常只有一个CPU,所以永远不可能真正地同时运行多个任务。这些进程“看起来像”同时运行的,实则是轮番穿插地运行,由于时间片通常很短(在Linux上为5ms-800ms),用户不会感觉到。 时间片由操作系统内核的调度程序分配给每个进程。首先,内核会给每个进程分配相等的初始时间片,然后每个进程轮番地执行相应的时间,当所有进程都处于时间片耗尽的状态时,内核会重新为每个进程计算并分配时间片,如此往复。.

新!!: 并发计算和时间片 · 查看更多 »

操作系统

操作系统(operating system,縮寫作 OS)是管理计算机硬件與软件資源的计算机程序,同时也是计算机系统的核心与基石。操作系统需要处理如管理與配置内存、決定系統資源供需的優先次序、控制輸入與輸出裝置、操作网络與管理文件系统等基本事務。操作系统也提供一個讓使用者與系統互動的操作界面。 操作系统的型態非常多樣,不同機器安裝的操作系统可從簡單到複雜,可從行動電話的嵌入式系统到超級電腦的大型作業系統。許多操作系统製造者對它涵盖范畴的定义也不尽一致,例如有些操作系统整合了图形用户界面,而有些僅使用命令行界面,而將图形用户界面視為一種非必要的應用程式。 操作系统理论在计算机科学中,為歷史悠久的分支;。.

新!!: 并发计算和操作系统 · 查看更多 »

重定向到这里:

並發計算並發處理並行計算并发处理共时计算共時計算

传出传入
嘿!我们在Facebook上吧! »