강의

멘토링

커뮤니티

Programming

/

etc. (Programming)

[図に理解する] 同期(sync) 非同期(async)の概念の最も直感的な理解

非常に簡単に同期非同期の概念を理解できる19分程度の講義です。

難易度 初級

受講期間 無制限

  • allen
sync
sync
async
async
sync
sync
async
async
Thumbnail

追加のBlocking / Non-Blockingの概念について

こんにちは!アランです。

私は短い講義を作ってみましたが、たくさん助けていたのか分からないですね!それでも役に立ったといい受講評を残してくださった方が多いので、授業を作ってみてよかったとたくさん感じています。 ^^

相違ではない、時々同期非同期概念以外に、

Blocking / Non-Blockingの概念は何ですか?こういう質問が上がってきて。

私が授業内容を通してお話した同期/非同期概念を先に習うことが当然優先だと思います。言語によっては、Blocking / Non-Blockingの概念が使われていない言語もあるので、これらの部分は勉強する言語にその内容が存在する概念かどうかを最初に見てみる必要があるようです。 ^^

はい、とにかくBlocking / Non-Blockingの概念が使われる言語なら、以下の内容を参考にしてみると良いと思います。


▶︎ Blocking / Non-Blocking
呼び出される関数がすぐに返されるかどうかが重要な概念

1) Blocking - すぐに返さない(仕事を妨げる)

2) Non-Blocking - 即時戻り



▶︎同期/非同期は、作業完了かどうかを呼び出した関数が気になるのか、呼び出された関数(callback)が気にするのか?

1) 同期- 呼び出した関数が作業完了

2)非同期 - 呼び出された関数(callback関数)が作業完了


(ただし、このような概念が合わせてBlocking&Asyncはどうせ他のことができないのでわざわざ使用することはないという。)



そして一般的に、Blocking / Non-Blockingの概念が使われていない言語では、私がクラスで話したように


同期はBlockingと結合された概念で、非同期はNon-Blockingと結合された概念と考えれば楽です。

そして、もしかしたら他の方が書いてとても上手に書いておいた資料があり、リンクもつけます。^^

https://homoefficio.github.io/2017/02/19/Blocking-NonBlocking-Synchronous-Asynchronous/

https://siyoon210.tistory.com/147


ありがとうございます。 :)

コメント

無料