[フレーム]
はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできます コメント表示の設定

ブックマークしました

ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

519users がブックマーク コメント 33

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

JavaScriptはなぜシングルスレッドでも非同期処理ができるのか/Why Can JavaSctipt Invoke Asynchronous in Single Thread?

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

はてなブックマーク

はてなブックマークで
関心をシェアしよう

みんなの興味と感想が集まることで
新しい発見や、深堀りがもっと楽しく

ユーザー登録

アカウントをお持ちの方はログインページ

記事へのコメント33

  • 注目コメント
  • 新着コメント
n314
コンピュータはなぜCPUが1コアでもマルチタスクできるのか、っていうのがまず先にあるよね。JavaScriptはコンテキストの管理はしないけどスイッチするタイミングは自分で決める感じか。

その他
azzr
jsの仕様にはmicrotask queueは規定されてるけど、microじゃない方のtask queueはjsじゃなくてwebの仕様じゃない?/mtqはagentごとに1つだけだけど、tqは優先度の異なる複数本のqueueがあるから「2つの」というか「2種類の」かな。

その他
agricola
そもそも「非同期処理」ってスレッド作らないでイベント待ちながら何かするための仕組みと違うの?トートロジーじゃん。

その他
rexy
"なぜシングルスレッドでも 非同期処理ができるのか" この疑問をもつ時点で非同期処理を理解してないことが分かる。非同期処理とは?を説明したほうが早いかも

その他
knjname
fulfilledの綴りのlは1個でいいですよ(揚げ足取り) / 直ってた!

その他
NOV1975
新作「50年後に転生したら古代言語は絶滅寸前だった〜古の大魔道士、シングルスレッドの古代魔法で無双する」ご期待ください。

その他
ebo-c
昔々のBASICのゲームだとプログラムの最後にGOTO先頭行とか書かれてたりしてな

その他
peketamin
コルーチンとも違うんだろうか。難しい...

その他
a96neko
見てる

その他
rexy
rexy "なぜシングルスレッドでも 非同期処理ができるのか" この疑問をもつ時点で非同期処理を理解してないことが分かる。非同期処理とは?を説明したほうが早いかも

2021年09月09日 リンク

その他
kogule
なんか感動した。あんなにも憧れだったマルチプロセッサがいまや当り前になったんだな。SPL で排他制御していた時代からは夢のようだ。

その他
nakag0711
例え昔のシングルスレッドのOSでもIOハンドラだけは割り込みで実質マルチスレッドで動く

その他
kitokitoki
"JavaScriptはなぜシングルスレッドでも非同期処理ができるのか"

その他
rryu
イベントループはタスクの実行が終わった後に戻ってくる場所で、トップレベルのコードもタスクとして実行されているはずなので解釈がちょっと違うように思う。

その他
commte
- Queue を別に持つことで 非同期っぽく逐次処理している - JavaScript はシングルスレッド ・Event Loop と Call Stack を用いて動いている - 非同期処理を実現するための 2 種類の Queue - Micro Task Queue - Macro Task Queue

その他
latena
IO が非同期動作するのは別スレッドで動いてるからだと思ってるんだけどその辺の話はなかった

その他
d0i
学部生のころ、threadの概念をよく知らずに巨大なswitch-caseとcontextを格納した構造体で非同期処理(サーバサイド)書いてたのを思い出した。

その他
z1h4784
なぜ今更こんな話がバズるのか。今はマルチスレッドが当たり前だから?Node.jsが浸透したから?

その他
kei_blue_opal
今の人たちって、Thread 以外だと、非同期処理が出来ないと思っているのかな? (それでこういうお題がある?) Windows の Message Loop とか、もう 30 年以上前から実装があるけれどね。

その他
xlc
そもそもブラウザ上でUIイベントを処理する小さなプログラムばかりだったからコンテキストが切り替わること自体ないよね。それが必要になったのはI/Oを扱うようになったから。

その他
onesplat
何言ってるかよくわからない。なぜ、と聞かれたらイベントループ回してるから、でFAでは?キューの種類の話等は実装上の詳細に思えるが。別にキューが一種類でも極論キューなくても非同期プログラミングは可能でしょ

その他
NOV1975
NOV1975 新作「50年後に転生したら古代言語は絶滅寸前だった〜古の大魔道士、シングルスレッドの古代魔法で無双する」ご期待ください。

2021年09月08日 リンク

その他
agricola
agricola そもそも「非同期処理」ってスレッド作らないでイベント待ちながら何かするための仕組みと違うの?トートロジーじゃん。

2021年09月08日 リンク

その他
natu3kan
シングルスレッドだけど種類の違うキューを持ってるからと。

その他
mr-csce
なるほど。勉強になるな〜

その他
nmcli
たぶん用語絞って平易に書いたらこのへん学びたい人にも伝わりやすくなる

その他
paulownia
https://developer.mozilla.org/ja/docs/Web/API/HTML_DOM_API/Microtask_guide

その他
ebo-c
ebo-c 昔々のBASICのゲームだとプログラムの最後にGOTO先頭行とか書かれてたりしてな

2021年09月08日 リンク

その他
n314
n314 コンピュータはなぜCPUが1コアでもマルチタスクできるのか、っていうのがまず先にあるよね。JavaScriptはコンテキストの管理はしないけどスイッチするタイミングは自分で決める感じか。

2021年09月07日 リンク

その他
dgen
シンプルに優先度順にこなしていくだけか。

その他
pascal256
後で読む

その他
GARAPON
解説も聞きたい・・・

その他
nilab
「非同期処理のための2種類のQueuesについて触れつつ、コードベースでの説明も行います」

その他
azzr
azzr jsの仕様にはmicrotask queueは規定されてるけど、microじゃない方のtask queueはjsじゃなくてwebの仕様じゃない?/mtqはagentごとに1つだけだけど、tqは優先度の異なる複数本のqueueがあるから「2つの」というか「2種類の」かな。

2021年09月07日 リンク

その他
yuuAn
これずっと気になってた

その他
mohno
えーっと、Windows 3.1?(←オイ)

その他
lli
なるほど。適当に使ってた。

その他
peketamin
peketamin コルーチンとも違うんだろうか。難しい...

2021年09月07日 リンク

その他

注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

リンクを埋め込む

以下のコードをコピーしてサイトに埋め込むことができます

プレビュー
アプリのスクリーンショット
いまの話題をアプリでチェック!
  • バナー広告なし
  • ミュート機能あり
  • ダークモード搭載
アプリをダウンロード

関連記事

usersに達しました!

さんが1番目にブックマークした記事「JavaScriptはなぜ...」が注目されています。

気持ちをシェアしよう

ツイートする

JavaScriptはなぜシングルスレッドでも非同期処理ができるのか/Why Can JavaSctipt Invoke Asynchronous in Single Thread?

JavaScriptはシングルスレッドであることが知られています。そして、Promiseを用いた非同期処理ができる... JavaScriptはシングルスレッドであることが知られています。そして、Promiseを用いた非同期処理ができることは周知の事実です。では、なぜシングルスレッドで非同期処理ができるのでしょうか? その点について、非同期処理のための2種類のQueuesについて触れつつ、コードベースでの説明も行います。

ブックマークしたユーザー

  • isudzumi2025年05月31日 isudzumi
  • techtech05212023年04月25日 techtech0521
  • kazokmr2023年04月21日 kazokmr
  • nokazn2022年03月10日 nokazn
  • youko032022年03月09日 youko03
  • tsumuchan2022年01月30日 tsumuchan
  • heatman2021年10月08日 heatman
  • abababababababa2021年09月24日 abababababababa
  • kawasin732021年09月21日 kawasin73
  • shibu_t2021年09月21日 shibu_t
  • wonder-wall2021年09月15日 wonder-wall
  • foo992021年09月14日 foo99
  • a96neko2021年09月11日 a96neko
  • yshrsmz2021年09月10日 yshrsmz
  • hanateid2021年09月09日 hanateid
  • hrfmmymt2021年09月09日 hrfmmymt
  • t2wave2021年09月09日 t2wave
  • noguful2021年09月09日 noguful
すべてのユーザーの
詳細を表示します

ブックマークしたすべてのユーザー

同じサイトの新着

同じサイトの新着をもっと読む

いま人気の記事

いま人気の記事をもっと読む

いま人気の記事 - テクノロジー

いま人気の記事 - テクノロジーをもっと読む

新着記事 - テクノロジー

新着記事 - テクノロジーをもっと読む

同時期にブックマークされた記事

いま人気の記事 - 企業メディア

企業メディアをもっと読む

はてなブックマーク

公式Twitter

はてなのサービス

Copyright © 2005-2025 Hatena. All Rights Reserved.
設定を変更しましたx

AltStyle によって変換されたページ (->オリジナル) /