0

웹 앱이 있고 주 프로그램에 몇 가지 변수가 있습니다. 이 변수는 문자열이나 배열이 많은 객체입니다.자바 스크립트에서 주 스레드 및 웹 작업자의 변수를 공유하는 방법은 무엇입니까?

하지만 4 명의 웹 작업자가 있습니다. 그런 다음 거대한 개체를 각 웹 작업자에게 메시지로 보냅니다. 기본적으로 개체를 4 번 복제합니다.

웹 작업자가 부모로부터 개체에 액세스 할 수있게하려면 새로운 sharedarraybuffer 데이터 형식 http://lucasfcosta.com/2017/04/30/JavaScript-From-Workers-to-Shared-Memory.html을 사용하여 더 많은 메모리를 효율적으로 사용할 수 있습니다.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer

내가 어떻게 할 수 있습니까? 이 예제는 필요한 바이트 수를 기준으로 초기화하는 것으로 보입니다. 나는 그것을 어떻게 계산할 것인지 이해할 수 없다.

누구든지이 작업을 수행하는 방법을 알고 있습니까?

감사합니다.

답변

0

설명하는 데이터 구조에는 실제로 사용할 수 없습니다. 내 말은 이론적으로을 의미합니다. 기본 공유 바이트 배열의 바이트 오프셋을 참조하는 getter 및 setters를 사용할 수 있습니다.하지만 재미있는 작업을 수행하지 않으면 노력할 가치가없는 복잡한 프로젝트입니다.

공유 메모리를 사용하려면 데이터 구조를 다시 생각해야합니다. 일정한 크기이고이를 단순화해야 할 필요가 있습니다.

프로필러를 사용하여 개체의 가장 큰 부분을 확인하고 해당 부분 만 공유하여 시작해보십시오.