C#マルチスレッド、非同期、同期間の連絡と区別
1029 ワード
C#マルチスレッド、非同期、同期間の連絡と区別
このような例を想定します.
私は5種類の料理を炒めたいですが、ストーブが2つしか使えません.同時に2種類しか炒められません.ストーブはスレッドですが、同期と非同期はどう説明すればいいですか?同時に炒めるのは非同期ですか?もしそうなら、どのような状況で同期しますか?
結果は次のとおりです.
コメント:
マルチスレッドとは、一連の操作を同時に実行しているように見えるが、各スレッドは自分のスレッドスタックを維持し、自分のコードを実行することを意味する.
非同期はマルチスレッドに基づいています.非同期とは、1つの操作が実行されると他のスレッド(またはプライマリスレッド)の動作を阻止せず、同期が逆になることを意味します.しかし、非同期操作がいくつかのリソースにアクセスし、これらのリソースが1つのスレッドが修正されたときに別のスレッドに読み込まれる可能性があり、結果は完全に台無しになります.したがって、このようなリソースの保護(スレッドセキュリティまたはリソース独占と呼ばれる)は重要なデータ保護措置です.
このような例を想定します.
私は5種類の料理を炒めたいですが、ストーブが2つしか使えません.同時に2種類しか炒められません.ストーブはスレッドですが、同期と非同期はどう説明すればいいですか?同時に炒めるのは非同期ですか?もしそうなら、どのような状況で同期しますか?
結果は次のとおりです.
5 A,B,C,D,E A B
CDE AB AB
, AB
--- ( ) ,
( )。
コメント:
マルチスレッドとは、一連の操作を同時に実行しているように見えるが、各スレッドは自分のスレッドスタックを維持し、自分のコードを実行することを意味する.
非同期はマルチスレッドに基づいています.非同期とは、1つの操作が実行されると他のスレッド(またはプライマリスレッド)の動作を阻止せず、同期が逆になることを意味します.しかし、非同期操作がいくつかのリソースにアクセスし、これらのリソースが1つのスレッドが修正されたときに別のスレッドに読み込まれる可能性があり、結果は完全に台無しになります.したがって、このようなリソースの保護(スレッドセキュリティまたはリソース独占と呼ばれる)は重要なデータ保護措置です.