현재 위치 - 법률 상담 무료 플랫폼 - 특허 신청 - 자바 비동기 정보 처리 방법
자바 비동기 정보 처리 방법
일반적으로 동기화는 한 작업의 한 처리 프로세스가 여러 스레드를 직렬화하는 것을 의미하며, 비동기는 한 처리 프로세스에서 여러 스레드를 동시에 처리할 수 있음을 의미합니다. 비동기는 일반적으로 버퍼에 크게 의존하기 때문에 더 나은 성능을 나타냅니다. 예를 들어, 컴퓨터의 경우 캐시는 CPU 와 디스크 io 사이의 버퍼로 CPU 고속 컴퓨팅 기능과 디스크의 저속 읽기 및 쓰기 기능을 조정합니다.

(1): Java 프로그램을 다시 시작하면 프로세스가 시작됩니다.

운영 체제 명령줄에서 runtime.getruntime (). exec ("Java-classpath.xxx") 를 시작할 수 있습니다

(2): 메시지를 받는 모듈의 addtolist 함수에 특수 핸들러를 추가할 수 있습니까? 함수가 실행될 때 먼저 list 에 메시지를 추가한 다음 현재 처리 스레드가 있는지 여부를 감지하고 그렇지 않은 경우 스레드를 시작합니다.

(3): 약간의 작업을 절약하기 위해 list 대신 BlockingQueue 를 사용할 수 있습니다. 이렇게 하면 스레드가 대기 및 깨우기 위해 코드를 쓰지 않고 구현됩니다. list 를 사용해야 하는 경우

list 를 동기화하는 작은 예가 있습니다.

Java ca YourMessageType> 목록; Private boolean running = true; Public MessageConsumer(List< YourMessageType> List) {this.list = list; } public voidrun () {while (running) {yourmessagetype msg = null; Try {synchronized (list) {while (list.size () = = ) {list.wait (); } msg = list.remove(); List.notiryAll (); }} catch (exception e) {e.print stacktrace (); } if (msg == null) continue; //System.out.println(msg); //print message} }}// sampleclass ShareModule {List< 호출 YourMessageType> List = new ArrayList< YourMessageType> (); ...} public classmain {public static void main (string [] args) {sharemudule sm; //so on ... thread t = new message consumer (sm.list); T.start (); ...}}