concurrency开始使用并发


备注

本节概述了并发性是什么,以及开发人员可能想要使用它的原因。

它还应该提及并发中的任何大型主题,并链接到相关主题。由于并发文档是新的,您可能需要创建这些相关主题的初始版本。

Java中并发执行的示例

import java.util.stream.IntStream;

public class Concurrent {
    public static void printAndWait(String s) {
        System.out.println(s);
        try {
            Thread.sleep(1000);
        } catch (Exception e) {}
    }
    
    public static void main(String[] args) {
        Thread myThread = new Thread() {
            public void run() {
                IntStream.range(1,32)
                .forEach(x -> printAndWait(""+x));
            }
         };
         myThread.start();
         IntStream.range('a', 'z').forEach(x -> printAndWait(""+(char)x));
     }
}
 

这将产生类似的输出

a
1
b
2
c
3
 

等等,虽然结果可能会有所不同。这是因为myThread 的代码在不同的线程中作为主流同时执行。也就是说,范围1-32由一个线程处理,范围az由另一个线程处理。

由于线程之间没有同步,因此无法保证首先执行哪一个,或者甚至确保它们将产生完全交织的结果。

安装或设置

有关获得并发设置或安装的详细说明。