在方案中实现并行执行

Mar*_*ark 6 concurrency scheme sicp

在货币上的SICP第3.4节(方案中的序列化器)中,有一个称为并行执行的过程,该过程在MIT方案中描述但未实现.我想知道是否有人实际实施过它; 如果不是如何开始实施这样的程序?

http://mitpress.mit.edu/sicp/full-text/book/book-ZH-23.html#%_sec_3.4.1

Ósc*_*pez 7

这就是我parallel-execute使用Racket 实现解决SICP第3.4节练习的方法:

(define (parallel-execute . procs)
  (map thread-wait
       (map (lambda (proc) (thread proc))
            procs)))
Run Code Online (Sandbox Code Playgroud)

我不能保证它具有与parallel-execute书中定义的过程相同的语义,但它允许我解决练习.


tig*_*iga 5

本书的官方网站提供了一个parallel.scm工具.像这样打开MIT Scheme:

mit-scheme -load PATH/parallel.scm
Run Code Online (Sandbox Code Playgroud)

或者说这个

(load "PATH/parallel.scm")
Run Code Online (Sandbox Code Playgroud)

在您的计划源文件的头部.

  • 截至 2018 年 4 月,链接已断开。parallel.scm 的工作链接 [可在此处找到](https://mitpress.mit.edu/sites/default/files/sicp/psets/ps7/readme.html) (2认同)