- + JavaScript の質問用スレッド vol.118 + [転載禁止]©2ch.net
539 :デフォルトの名無しさん[sage]:2015/12/26(土) 16:51:32.69 ID:Dx/LxDfY - 簡単に同期ができるとマルチスレッドプログラミングが格段にやりやすくなる。
例えばメインスレッドでは同期処理と同じような感覚でマルチスレッドを使う関数を使える。 それだけならawaitでもいいじゃんと思うかもしれないが、 sleep/wakeはマルチスレッドプログラミングに付き物の競合問題も解決してくれる。 まあでもWebに関しては、現状の状態を鑑みるに、別にサブスレッドを束ねるマスタースレッドを作って、 UIスレッドでは下手にsleepしたりしないほうが良いと思う。 DOMとJSとのイベントループが絡まっているため、現状の仕様というか素直な実装による挙動だと、 JSでsleepするとUIも固まってしまう。 だから今のところの現実解は別個にマスターワーカーを作り、UI側とのやり取りはasync/await ワーカー同士はsleep/wakeでするのがベストだと思われるがどうか。
|
|