js 다 중 스 레 드 간단하게 실현

1318 단어 면접시험
  • js 의 다 중 스 레 드 실행 과 다 중 스 레 드 간 데이터 전달 을 간단하게 실현 합 니 다.
  • JS 는 스 크 립 트 언어 로 서 사용자 와 상호작용 하고 DOM 을 조작 하 는 데 사용 된다.이것 은 그것 이 단지 단일 라인 일 뿐, 그렇지 않 으 면 매우 복잡 한 동기 화 문 제 를 가 져 올 수 있다 는 것 을 결정 했다.(여기 서 이 문제 들 을 우 리 는 연구 하지 않 는 다)
  • 그러나 단일 라인 의 언어 는 치 명 적 인 확정 이 있다.스 크 립 트 언어 가 실 행 될 때 그 중의 한 기능 이 실 행 될 때 많은 시간 을 소모 하면 차단 이 된다.이런 프로젝트 는 사용자 체험 이 매우 나 쁘 기 때문에 이런 현상 은 프로젝트 의 개발 과정 에서 존재 할 수 없다.
  • 사실은 JS 가 우리 에 게 Worker 류 를 제공 했다. 그 역할 은 바로 이런 차단 현상 을 해결 하기 위해 서 이다.우리 가 이 종 류 를 사용 할 때, 그것 은 브 라 우 저 에 새로운 스 레 드 를 신청 할 것 이다.이 스 레 드 는 js 파일 을 단독으로 실행 하 는 데 쓰 인 다.

  • 
    	var worker = new Worker(js    );
    	<--                     js  。  ,                          。   ,             。-->
    
    	//postMessage(msg);
    	//postMessage                   js     
    	worker.onmessage = function(){
    	//          js         event.data    
        	console.log( event.data )
    	};
    	setTimeout( function(){
        	worker.terminate();
        	//terminate      worker  
    	},2000)
    	setTimeout( function(){
        	worker = new Worker("js/ccc.js");
    		//    worker  
    	},3000)
    
    
  • 새 스 레 드 에서 postmessage () 방법 을 사용 하면 메 인 스 레 드 에 데 이 터 를 보 낼 수 있 습 니 다. 메 인 스 레 드 에서 worker 의 onmessage 사건 으로 이 데 이 터 를 받 아들 이면 js 의 다 중 스 레 드 실행 과 다 중 스 레 드 간 데이터 전달 을 실현 합 니 다.
  • 좋은 웹페이지 즐겨찾기