Parallel processing 无状态系统和有状态系统之间有什么区别,它们如何影响并行性?

Parallel processing 无状态系统和有状态系统之间有什么区别,它们如何影响并行性?,parallel-processing,Parallel Processing,解释无状态系统和有状态系统之间的差异,以及状态对并行性的影响。A无状态系统可以被视为一个框[black?;)],其中在任何时间点[经过一定的处理时间]输出值仅取决于输入值 一个有状态的系统可以被看作是一个框,在这个框中,在任何时间点,输出值都取决于输入值和内部状态值,因此基本上,一个有状态的系统就像一个有“内存”的状态机,因为同一组输入值可以生成不同的输出取决于系统以前接收到的输入 从并行编程的角度来看,无状态系统如果正确实现,可以由多个线程/任务同时执行,而不会出现任何并发问题[例如,考虑可重

解释无状态系统和有状态系统之间的差异,以及状态对并行性的影响。

A无状态系统可以被视为一个框[black?;)],其中在任何时间点[经过一定的处理时间]输出值仅取决于输入值

一个有状态的
系统可以被看作是一个框,在这个框中,在任何时间点,输出值都取决于输入值和内部状态值,因此基本上,一个有状态的系统就像一个有“内存”的状态机,因为同一组输入值可以生成不同的输出取决于系统以前接收到的输入

从并行编程的角度来看,无状态系统如果正确实现,可以由多个线程/任务同时执行,而不会出现任何并发问题[例如,考虑可重入函数]
有状态的系统需要多个执行线程以独占方式访问和更新系统的内部状态,因此需要一个序列化[同步]点。

有状态服务器在连接之间保持状态。无状态服务器不支持

因此,当您向有状态服务器发送请求时,它可能会创建某种连接对象来跟踪您请求的信息。当您发送另一个请求时,该请求将以上一个请求的状态运行。所以你可以发送一个请求来“打开”一些东西。然后你可以发送一个请求来“关闭”它。在这两个请求之间,这个东西在服务器上是“打开的”

当您向无状态服务器发送请求时,它不会创建任何跟踪有关请求信息的对象。如果您在服务器上“打开”某个内容,服务器将完全不保留您已打开某个内容的任何信息。“关闭”操作毫无意义,因为没有什么可关闭的

HTTP和NFS是无状态协议。每个请求都是独立的

有时cookie被用来向无状态协议添加一些状态。在HTTP(web页面)中,服务器向您发送一个cookie,然后浏览器保存该状态,仅在后续请求时将其发送回服务器


SMB是一种有状态协议。客户端可以在服务器上打开文件,服务器可能会拒绝其他客户端对该文件的访问,直到客户端关闭该文件。

您可以查看以下内容:可能重复No,在Scott Hanselman的网站上,这是一个优秀高级工程师的面试问题,我想知道答案。直接问出来的问题那么面试进行得如何?这个答案并没有解决state/less/ful/ness对并行性的影响问题。假设我有一个存储用户事务数据的应用程序,它可能比如余额贷记、取款等等。那么这个应用程序是无状态/有状态的吗?因为此应用程序获取可能最近插入的有关用户的数据。