動機.非同期.
5055 ワード
動機。非同期。それを食べるのですか。
この言葉は何度読んでも理解できない.ビデオの授業でも同期だと言っていましたが、これは非同期ですが、ずっと混同していて煩わしいです.だから順番代順に理解することにした.△これはまったく自分の決定です.順番に理解すれば、もっと近づきやすいと思いますから.簡単に例を挙げる.コーヒーを注文する問題があり、メールvs電話で比較する人が多い.最後に同じことしか言えません.これはあなたにやらせることだけをするか、それとも他のことをさせるかについての物語です.動機は順序的で,非動機は非順序的である.
順序。非順序?それは何ですか。
単語で理解すればいいのですが、順番とは順番に決められたことを実行することです.コード比較により,同期非同期の前に順序非順序の概念が確立されると,後で行われるコールバック,承諾,またはasync&awaitが容易に理解できる.
例えば,順序付けはプログラム型プログラミングのみである.
let a = 3;
let b = 6;
console.log(add(a,b));
次のコードがあるとすれば、どのように行われるかがわかります.一番上にあるのは関数宣言で、宣言は読み取りと降格され、a値とb値は順次宣言初期化され、最終的に最後の行でconsoleが開始されます.add(a,b)関数の結果値をlogで記録します.これは言うまでもなく、順番にしかできない方法です.このコードは順番と呼ばれています.次の行を読み込むには、コンパイラが読み込んだコードが完了する必要があります.非順序で行われる場合、条件文は行の移動や他の理由(コンパイラが石の先(関数)に遭遇したと一般的に言われています)をもたらします.これは,コードの進行が遅延されることを意味する.本当に簡単にコードを作りましょう
let a = 100;
let some = (a)=>{
a+= 100;
}
while(true){
a--;
if(a === 1){
some(a);
} else {
//do nothing
}
こんなごちゃごちゃしたコードを作ったのかと聞かれますが、これは私が思っている非順序が何なのかを説明するためだけなので、コードが悪くてもスキップしましょう.順序とは異なり,非順序ではコンパイラの読み方が歪んでいる.上のコードと似たような部分が多いですが、基本的にはwhileがあるので、あちこちぶらぶらしている形態になっています.この場合、コードがどこでスクロールされ、どこからコードが読み込まれるかを確認する必要がありますが、上記の例ではwhileで遅延しています.このような状況を私は非順序と呼んでいます.同期/非同期を返す
動機と非同期に戻り、順序と非順序に何の関係があるのかを聞くと、基本的には何も言うことはなく、別の道を歩むことができるかどうかを聞く.私がこのことをするのにほかに何かできることがありますか.これがテーマ
いわゆるシンクロ番組は最終的に映画を見るのとあまり差がない.
ウェブページを映画のようにして、ユーザーにずっと見てもらうと、ユーザーは使いにくいです.自分でボタンを押して自分でやり取りして自分の魅力をアピールします順番にページをビデオ化すると、それを利用しているのか、そこに立って見ているだけなのかが混同されます.なぜなら、やっていることやっていることやっていることやっていることしかできないからだ.
しかし、ユーザーはパソコンやスマートフォンのようにホームページを使うべきだ.
非同期は同時多発処理を意味する。
映画を見るのではなく、「利用」に注目するからだ.私はあるボタンを押して、突然マウスのローラーを置いて、ローラーを置いて、止まって壁紙を見て、突然履歴書を確認したい人です.これは、Webページが順番に実行されるのではなく、状況に応じて変化する条件で同時に実行(見た目)され、他の機能が同時に実行されることを意味します.そのため、非同期プログラミングプログラムが必要です.
次の写真はコデスタッツが提供した
동기/비동기 작동 다이어그램
です.동기(synchronous)처리
において、リクエストがある場合、タスクはクライアントからサーバに移行して処理され、処理中に別の実行は停止し、応答待ちになる.これに対して、비동기(asynchronous)처리
が見られると、リクエストはサーバ側で処理され、クライアントで継続される.そして,サーバ処理が完了すると,再び応答を受け取り,処理を継続する.Task全体の処理速度も非同期処理が速い。
上記の画像から分かるように、同期処理では、関数呼び出しが呼び出されるたびに、他の操作なしにタスクの終了を待機し、次のタスクを受信したときに処理を再開し、処理時間全体を遅延し続ける.対照的に、非同期処理は複数のタスクを同時に処理できるため、短時間で複数のタスクを処理することができる.
ただ、これは処理速度や他の処理問題が発生する可能性があることを示している.それは何の話ですか...
ms(1/1000秒)単位で完了したタスクを非同期で処理しようとすると、終了時間を正確に予測し、実行意図通りに実行することは困難である.task 1が200 msで終了したタスクといえば,次のタスクが完了すべき優先度を予測することによってコードを記述することは人間にとって恥ずかしいことである.
では、どのように非同期処理を行うのでしょうか.いろいろな方法がありますが、次の文章で議論することにしました.
Reference
この問題について(動機.非同期.), 我々は、より多くの情報をここで見つけました https://velog.io/@brian_kim/TIL-비동기-처리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol