1。非同期コール
非同期呼び出しは、メインスレッドをブロックせずに高度に消費するメソッドを実行することです
2。通常の非同期
新しいスレッドを開くことで実装されます
3.スプリングブートで非同期メソッドを有効にします
4つのコメントが必要です
1.@enableasyncは非同期を有効にします
2.@コンポーネントは、非同期コンポーネントを登録します
3.@async annotation非同期方法
4.@非同期成分の自動化された注入
4.非同期呼び出しを行います
1.最初に、構成クラスで非同期をマークします
2。次に、コンポーネントでラベル付けされたサービスやコントローラーと同様に、非同期コンポーネントクラスを作成します。サービスは問題ありません。
3.クラス内で非同期メソッドを作成し、非同期タグでマークします。この方法はインスタンスメソッドでなければなりません。
4。その後、サービスを注入することと同じです。
5。非同期トランザクション
ASYNCメソッドに@Transactionalにラベルを付けることは役に立たない。
ASYNCメソッドによって呼び出されるサービスの@Transactionalを任命することは有効です。
6.非同期法の内部呼び出し
非同期方法は内部呼び出しをサポートしていません。つまり、非同期メソッドをクラス内で呼び出す必要があると書くことはできません。
たとえば、クラスAにはA、B、およびcがあります。 bには非同期アノテーションがあります。この時点で、AからBの非同期コールは無効です。
7.なぜ非同期方法はインスタンスメソッドでなければならないのですか
静的メソッドをオーバーライドできないためです。 @Async非同期方法の実装原則は、プロキシクラスを豆に注入することであるため、豆を継承し、非同期方法を上書きして実行する必要があります。
その後、このことは春までに維持されているキューに配置されます。スレッドプールが読み取り、実行されるのを待ちます。