effectively final

    Java 람다표현식의 특징과 Scope, effectively final variable

    람다의 특징 용어 정리 왜 final 또는 effectivly final만 접근할 수 있는가? 들어가기 앞서. 결론 : 멀티쓰레드 환경에서 동작한다면, 람다 내의 각 루프가 다른 쓰레드에서 서로 참조할 수 있기 때문에 레이스 컨디션이 일어날 수 있다. 그러므로 람다식 안에서 람다식 밖의 변수를 참조하려면 final 또는 effectively final 이여야 한다. 하지만 예외로 람다식에서 인덱스 라던가 final이 아닌 지역변수를 참조, 수정하고 싶다면, Java에서 멀티스레드환경에서 동시성을 보장해주는 Atomic 클래스를 사용하면 된다. Java에서 동시성을 제어할 수 있는방법 Java docs - atomic 1. Lambda의 특징 람다에서 지역변수를 사용하려면 다음과 두가지 특징이 있다 람다표..