摘要: We need a programming model that combines the advantages of synchronous and asynchronous parallel styles. Synchronous programs are determinate (thus easier to reason about) avoid synchronization overheads. Asynchronous more flexible handle conditionals efficiently.Here we propose with benefits both allow threads control but restrict shared-memory accesses other side effects so as prevent behavior program from depending on any accidents execution order can arise indeterminacy process model.These restrictions may be enforced either dynamically (at run time) or statically compile time). In this paper concentrate dynamic enforcement, exhibit an implementation dialect Scheme based these ideas. A single successful in constitutes proof is free race conditions (for particular set input data).We also speculate design for language using static enforcement. The notion distinctness important proofs noninterference. An appropriately designed must support such concepts “all elements array distinct,” perhaps through its type system.This does not all styles programming, argue it large class interesting algorithms considerably greater efficiency (in some cases) than strict SIMD approach safety full-blown MIMD approach.