搜索
写经验 领红包
 > 运动

函数式编程和命令式编程的区别(函数式和命令式)

导语:函数式编程与命令式编程的区别以及函数式编程不需要锁

函数式编程(Functional Programming)与命令式编程(Imperative Programming)不同

1.命令式编程的代码由一系列改变全局状态的语句构成;

2.函数式编程将计算过程抽象成表达式求值。

表达式由纯数学函数构成,而这些数学函数是第一类对象且没有副作用。

由于没有副作用,函数式编程可以更容易做到线程安全,因此特别适合于并发编程。

3.函数式编程是可以直接支持并行的模型。

函数式编程(Functional Programming)不需要锁

有关锁的一些规则,都是针对于线程之间共享的可变的数据——共享可变状态而已。

对于不变的数据,多线程不使用锁就可以安全地进行访问。

函数式编程没有可变状态,所以不会遇到由共享可变状态带来的种种问题。

本文内容由快快网络小思整理编辑!