Java 8 java.util.function
패키지에는 다음이 있습니다.
- 기능 : 하나의 인수를 취하여 하나의 결과를 생성합니다.
- 소비자 : 하나의 주장을 취하고 아무 것도 생산하지 않습니다.
- 공급자 : 논증하지 않고 하나의 결과를 산출합니다.
- ... : 프리미티브, 2 개의 인수 등을 처리하는 다른 경우 ...
그러나 나는 " 논쟁을 취하지 않고 아무 것도 발생시키지 않는 "경우 를 다루어야한다 .
에 대한 내용은 없습니다 java.util.functionnal
.
따라서 질문은 다음과 같습니다.
' 인수를받지 않고 아무것도 반환하지 않는 함수 '의 이름은 무엇입니까 ?
Java 8에서 그 정의는 다음과 같습니다.
@FunctionalInterface
public interface InsertANameHere {
void execute();
}
Executor는 이미 존재하고 또 다른 목적이 있습니다 : " 제출 된 실행 가능한 작업을 실행하는 개체 ". 서명이 일치하지 않으며 ( execute(Runnable):void
) 기능적인 인터페이스 도 아닙니다 .
Runnable 이 존재하지만 스레딩 컨텍스트에 강력하게 연결되어 있습니다.
- 패키지는
java.lang
아닙니다java.util.function
. - javadoc은 " Runnable 인터페이스는 인스턴스가 스레드에 의해 실행되도록 의도 된 모든 클래스에 의해 구현되어야합니다 "라고 말합니다.
- "Runnable"이라는 이름은 스레드 내에서 실행중인 코드를 나타냅니다.
Runnable
Runnable은 Thread
( Executor
예 :) 이외의 다른 클래스에서도 사용되기 때문에이 시점에서 javadoc 이 오래 되었다고 생각합니다 .
Runnable
에만 할 수 있습니다이야 .run()
가 Thread
의. 실제로 그들은 질문에 설명 된 목적을 위해 매우 일반적으로 사용됩니다.
java.util.function
패키지 에서 아무것도 발견하지 못한 이유 입니다.