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는 다른 스레드에 의해 처리됩니다.

스레드 간에는 동기화가 없으므로 어느 것이 먼저 실행되는지 또는 실제로는 완벽하게 얽힌 결과를 생성한다는 보장이 없습니다.

설치 또는 설정

동시성 설정 또는 설치에 대한 자세한 지시 사항.