java - 用非函数式语言编写函数式程序

标签 java functional-programming multicore imperative-languages

假设我使用 Java 中的不可变数据结构编写了一个程序。尽管它不是函数式语言,但它应该能够并行执行。我如何确保我的程序正在使用处理器的所有内核执行?计算机如何决定哪些代码可以并行运行?

附言我问这个问题的目的不是要找出如何并行化 java 程序。但要知道 - 计算机如何并行化代码。它可以在用非函数式语言编写的函数式程序中实现吗?

最佳答案

Java 程序通过线程并行化。计算机无法神奇地弄清楚如何使用像 Java 这样的命令式语言将应用程序的各个部分分布到所有核心。只有像 Erlang 或 Haskell 这样的函数式语言才能做到这一点。阅读 Java 线程。

关于java - 用非函数式语言编写函数式程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/847430/

相关文章:

java - 删除链接列表中所有出现的单词

python - 有什么方法可以延迟计算 function.func_name 吗?

javascript - F# 中原型(prototype)的 Enumerable#pluck?

python - 关于 python 多处理的初学者问题?

multithreading - 进程、线程和并发编程

Java 日期问题

java - Spring JPA 使用 LocalDateTime 获取 mongo 中某个范围(含)之间的日期

java - 升级到 Spring Boot 2.0.2 后,Spring Security .permitAll() 不再有效

c++ - 如何使用 C++11 中的函数式编程从 map 中获取键?

multithreading - 线程和进程与多线程和多核/多处理器 : How they are mapped?