>>232
無駄待ちしない非同期プログラミングは特定の言語に依存しない一般的なプログラミング手法。
どの言語でもそれが直接見えるか否かに関わらず一番下では当然コールバックになっている。
例えばそれを遅延してコールバック指定できるタイプのfutureやpromiseを返り値としてもらうのはデザインパターンの問題。
こうすることでターゲットのオブジェクトに直接コールバックを渡すのではなくfutureやpromiseを介することで自分側で制御できる。
更にそれを表記上はコールバックをしているように見せないためにco-routineやgeneratorを使って見た目だけ同期っぽく書くことも可能。
つまり表記上は無駄待ちでブロックされる同期呼び出しとほぼ同じ形でコーディングが出来る。
そしてそれら上記を全て意識せずに簡潔に書けるようにしたものがいわゆるasync/awaitとなる。
この正しいawaitを用いれば見た目は同期呼び出しなコードなのに実態は非同期呼び出しかつ無駄待ちせずそのスレッド自体がその間も他のコードを実行可能となる。
これにより例えばシングルスレッドのみ使用であっても多数の通信やファイルアクセスなどを一切無駄待ちせずに非同期に並行して効率よく処理することが可能となる。
具体的に複数の最終的にコールバックされるペンディング状態を管理するのは多くの場合にメインのイベントループオブジェクトである。
これは言語によっては言語に内在するケースもあれば標準モジュール/ライブラリとして提供される場合もあれば自作する場合もある。
抽象化された上位のものを用いていてもその内部では結局select()やpoll()などのシステムコールが中核に位置することになる。
このオブジェクトで多数のファイルディスクリプタ(通信も結局ソケットなのでこれになる)管理とタイマー管理などを集中管理する。
全てのコールバックはここから直接もしくはfutureやpromiseなどを介して行われることになる。
これらの機構が直接見えるかどうかは各言語およびどこまで抽象化されたライブラリを用いるのかに依存する。
例えば貴方が言及しているJavaScriptではブラウザとNode.jsどちらも実行環境に内在されているため利用者は自分で準備や構築をする必要はない。
探検
オブジェクト指向を教えてくれ!
■ このスレッドは過去ログ倉庫に格納されています
281デフォルトの名無しさん
2021/03/22(月) 06:26:21.92ID:x5QOR3yt■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【ラジオ】永野芽郁、田中圭との不倫疑惑後初の『ANNX』で謝罪「誤解を招くような行動…反省」「本当にごめんなさい」★8 [Ailuropoda melanoleuca★]
- コメ5キロ、最高値4220円 16週連続上昇、前年比2倍 ★4 [蚤の市★]
- 令和ロマン髙比良くるま 吉本との「信頼関係壊れた」スタンドプレー [ひかり★]
- 昭和の少女漫画ランキングTOP5発表 40代~70代女性が 夢中で読んだ名作1位は「もう流通していない名作」 [muffin★]
- 【芸能】東野幸治 自身が思う〝天才MC〟を実名告白 「1人勝ちでよろしくないですか?」 [冬月記者★]
- 【芸能】平手友梨奈、初ワンマンライブが8月21日に決定 前売り0円、終演後投げ銭有りの形式 [冬月記者★]
- 「脛毛」と言うとなぜか発狂する人が湧いてくる不思議なお🏡
- __トランプ政権下では海外と国内の投資総額が5兆ドルを超えアメリカ人に45万1千人の雇用を創出 [827565401]
- 外国人「ジャップは車どこに停めてるの?ふつう車は道路に停めるもんだろ?」 [271912485]
- 【悲報】日本さん、一人当たりGDPがG7ワーストの38位に🤔一時は2位だったのに誇らしい!😤 [359965264]
- 【画像】風俗嬢さん、ケンモメンの差し入れにドン引き、ネットに晒してしまう [834922174]
- 「自分らしさ」書いけwww