2010-03-15 4 views

답변

11

JavaScript does not support native multithreading 현재 웹 브라우저 비록 그것이 있었다면, 나는 IE 6이 그것을 지원하지 않았을 것입니다 :

복수의 iframe에서 스크립트를 실행하는 것은 하나의 해결책, 즉 Jason Kester suggested in another answer 일 수 있습니다.

은 또한 현대적인 브라우저는 Web Workers 체크 아웃에 관심이있을 수 있지만, 이것은 확실히 IE 6의 리그 무언가이다 :

+2

+1 (그리고 그것은 좋지 않습니다. 제 생각에는 ;-) – ChristopheD

+1

웹 근로자는 어떻습니까? IE6에서는 아니지만 분명히 ... – luiscubal

+0

@luiscubal 예. 좋은 지적입니다. 그들은 원래 내가 원래 링크 된 게시물에 언급되어 있습니다. 일부 추가 정보를 포함하도록 내 답변을 수정했습니다. –

1

구글 기어는 IE6와 함께 작동 뭔가라는 WorkerPools을 포함하는 플러그인입니다 참조하십시오. Google Gears는 Gears의 아이디어를 HTML5로 옮기기 위해 노력해 왔기 때문에 매우 활발하게 개발되고있는 것처럼 보이지 않습니다. WorkerPools는 기본적으로 상태를 공유하지 않고 메시지를 통해서만 통신하는 백그라운드 프로세스입니다. HTML5에서 이것은 WebWorkers가되었습니다. 여기에서 자세한 정보를 확인할 수 있습니다. http://code.google.com/apis/gears/api_workerpool.html

2

글쎄, HTML5는 Web-Workers으로 나타납니다. 그러나 나는 IE6에서 그것을 사용하기위한 래퍼를 생성하는 라이브러리가 있음을 매우 의심합니다. 당신은 단지 동기 코드를 작성하여 사방에 쓰기 이벤트 핸들러를 처리하는 것을 피하기하려면

Does my browser support web workers?

+0

아무도 웹 작업자를 언급하지 못했습니다! –

+0

+1 언급 : –

1

, 당신은 시도 할 수 있습니다 : Strands

3

을의 iframe에 작업을 실행

클라이언트 측에서 멀티 태스킹을 수행한다고 가정하면 페이지에서 도메인의 페이지를 가리키는 n 개의 프레임을 열 수 있습니다.

거기에서 설계하는 방법에는 여러 가지가 있습니다. 아마도 가장 쉬운 방법은 각 프레임에서 실행하는 단일 .js 포함하는 것입니다. parent.readyToGo() 또는 무엇이든간에 집으로 전화를 걸고 할당 된 작업을 얻습니다. 작업자 메소드는 parent.taskFinished()와 같은 것을 호출하여 완료되면보고합니다.

가장 중요한 것은 IE6에서 중요한 다중 스레드 자바 스크립트 응용 프로그램을 실행하지 말라고 말하는 사람의 말을 듣지 마십시오. 좋은 이유가있을 것이라고 확신합니다 :)