这取决于谁在定义它。创建Go编程语言
call code Concurrent的人员如果被分解成可以并行处理的片段,而并行性意味着这些片段实际上是在同一时间运行的。
由于这些是编程原理,编程语言与定义的方式无关。然而,Java 8将具有更多的功能来实现并发和并行性,而不会使您的代码过多。例如,这样的代码:
List coolItemIds = new List();
for(Item item : getItems())
{
if(item.isCool())
{
int itemId = item.getId();
coolItemIds.add(item);
}
}
…这是非并发和非并行的,可以这样写(我的语法可能是错误的,但希望你得到这个想法):
Iterable items = getItems();
Iterable coolItems = items.filter(item -> item.isCool());
Iterable coolItemIds = coolItems.map(item -> item.getId());
上面的代码是以并发方式编写的:没有一个给定的代码要求一次一个过滤一个coolItem,或者一次只能在一个项目上调用getId(),或者甚至一开始的项目的列表需要在结尾处的项目之前进行过滤或映射。根据getItems()返回的Iterable类型,给定的操作可能并行运行,但是您编写的代码是并发的。
也感兴趣的