Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

coroutine이 js에 필요할까? #81

Open
zerozoo-a opened this issue Sep 18, 2023 · 0 comments
Open

coroutine이 js에 필요할까? #81

zerozoo-a opened this issue Sep 18, 2023 · 0 comments

Comments

@zerozoo-a
Copy link
Owner

zerozoo-a commented Sep 18, 2023

  1. 코루틴은 시간을 많이 먹는 동기 작업이나 많은 연산이 필요한 main thread를 점유하는 연산에 좋다
  2. generator가 이미 있으니 구현 가능하다.
  3. 비동기 연산의 경우 v8은 libuv에 작업을 위임함 (별도의 비동기 처리 thread에 작업을 넘김)
  4. 완료된 비동기 데이터를 받음
  5. 그 사이 main thread는 점유되지 않고 다른 작업을 처리해주고 있음
  6. 까지가 이론임
  7. mainthread를 오래 점유하는 작업에 대해 coroutine은 여전히 유효함 (thread 만들기가 복잡한 js 환경에 더욱 적합함) 특히 화면을 그리는데 mainthread를 최대한 빨리 내어줘야하는 경우 더 좋음
  8. worker를 만드는데 오버헤드가 있으니 coroutine에 넣을 수 있을까? worker를 만드는 작업은 분할가능 하지 않으므로 어려울 것..
  9. worker는 브라우저의 idle 타임에 생성하고 worker pool에 저장하고 worker pool을 확인하는 용도 + 꺼내오는 용도로도 적당 할 것..?
  10. 화면을 그리는 mainthread를 지원하는 하위 연산 thread들이라고 볼 수 있을까
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant