電子メール: [email protected]
Github: https://github.com/qiurunze123
QQ: 3341386488
QQグループ:453259026
転載やその他の業務もお気軽にご相談ください! 私のベースに基づいて新しいバージョンを書いていただきたいと思います。
? 三高は最初に食料や草を使わずに兵士と馬を導入しました。
three-high-import は、高可用性、高信頼性、高性能のthree-highマルチスレッドインポートシステムです(このプロジェクトの意味は理論的な理解です)
3 つの高インポート プロジェクトの重要性は、マルチ スレッドを使用して数千万レベルをインポートし、可扩展
、高可用
、高可用性、高可靠
高性能
3 つの高さを実現することです。このプロジェクトは、差別化されていない高パフォーマンスのデータ レポートと、数千万レベルのデータをインポートする場合、通常のインポートと比較してパフォーマンスが約10倍向上し、偶発的なマシンダウンタイムやネットワーク変動などのリスクが回避され、数据一致
、数据可靠
、数据重试
可能になります。数据报警
やその他の機能は、調整、データなどの重要な状況でも引き続き実行できます。アカウントの金額や請求書などには、データにエラーがないことを保証するために毎日スケジュールされたタスクと高リスクのデータが必要です。 基本から高度までのマルチスレッド、入口と出口の分析、および実践的な作業 最後に、大量のデータに対する安全で高可用性の戦略を実装する方法に関するプロジェクトを共有します (数億のデータでテストされています)。データのシャーディング、データのインポート、計算、マルチスレッド戦略などを実行する方法など、高可用性、高信頼性、高性能の 3 つの高パフォーマンスのインポート システムのデモ分析例を示します。この記事は上級シリーズに属します。質問やより良いアイデアがある場合は、一緒に話し合うことができます。 ちょっとした提案: この一連の知識を学ぶ前に、 SpringBoot
、 CountDownLatch
、线程池
、工作队列
、工作窃取等
に触れたことがない場合は、インターネットで各知識の簡単な紹介を検索することをお勧めします。または、このプロジェクトをダウンロードして実践して学ぶこともできます。たくさんの記事を書いて人生を無駄にしたくないのです。わかります、やってみてください。
- 3 つの高輸入プロジェクト
- テーブルデザイン
- データがどのようにシャーディングされるか
- 高可用性を実現する方法
- 高いパフォーマンスを実現する方法
- 高い信頼性を実現するにはどうすればよいか
- スレッド プールをカスタマイズし、使用およびインポートする方法
- データインポートのパフォーマンス (以前のバージョンの Sangao では、100,000 個のデータをインポートするのに約 13 秒かかりました。新しいバージョンはまだ開発中です)
- スレッド分割を実行してリソースを割り当てます
マルチスレッド化の前に更新されたバージョン -- コード パスを入力してください: com.geek.threadandjuc
目次
? Java マルチスレッドの基本
- マルチスレッドの基本
- 知っておく必要があるいくつかの概念
- マルチスレッドを実装する方法は何通りありますか?
- マルチスレッドで runnable を使用することと Thread クラスを継承することの違いは何ですか?
- マルチスレッドでスレッドを正しく適切に中断する方法
- マルチスレッドのライフサイクル ステート マシン フロー エラーとエラー ステートメント
- マルチスレッドのライフサイクル ステート マシン フロー
- スレッドクラスとオブジェクトクラス
- マルチスレッドの重要な特性
- マルチスレッドの例外処理メカニズム
- マルチスレッド wait notificationnotifyall join sleep yield 関数とメソッドの詳細な解釈
- マルチスレッドによってどのような問題が発生する可能性がありますか?
- 複数のシングルトン モード
- 同時コンテナ
- 地図の紹介
- ベクトルとハッシュテーブル
- 同時ハッシュマップ
- CopyOnWriteArrayList
- ブロッキングキュー
スレッドローカルを取得しますか?
- スレッドローカルを取得
- ThreadLocal の定性的な使用シナリオの紹介
- ThreadLocal の一部のメソッドが使用されます
- ThreadLocal ソースコード解析
- ThreadLocal メモリ リーク
- メモリリークを避けるための ThreadLocal
- 春のThreadLocalの適用
? スレッドプール
- スレッドプール
- JDKスレッドプールの高度な分析
- スレッドプールとは何ですか
- スレッドを複数回作成することのデメリット
- スレッド プールを使用する場合
- スレッドプールの利点
- エグゼキューターフレームワーク
- スレッドプール操作にフック関数を使用する方法
- スレッドプールの主な属性
- マルチスレッドの重要な特性
- スレッドプールの具体的な実装
- スレッドプールZの作成
- スレッドプールパラメータの説明
- スレッドプールの監視
- スレッドプールのソースコード解析
- メソッドを実行する
- addWorker メソッド
- ワーカークラス
- runWorker メソッド
- getTask メソッド
- processWorkerExit メソッド
- まとめ
- processWorkerExit メソッド
- 手書きのスレッドプールコード
?マルチスレッドの高度なアップデート
? マルチスレッドセキュリティのトピック
- スレッドプール
- スレッドの安全性の問題にはいくつかの種類があります
- スレッドの安全性の問題に特に注意を払う必要があるのはどのシナリオですか?
- マルチスレッドスイッチングコンテキスト
- デッドロックスペシャル
マルチスレッド Juc 共有
https://github.com/qiurunze123/threadandjuc/blob/master/docs/threadinterview.md
知らず知らずのうちに半年かけて更新してしまいましたが、基礎から同時実行、プロジェクトへの直接応用まで、下手なところも多いのですが、理解から応用、そして書くまでが、人間にとっては試練です。
時間も労力もかかりましたが、諦めずに完成させてよかったです。皆さんの修正や意見をいただき、より多くの方のお役に立てれば幸いです。
千岩万壑不辞劳 远看方知出处高 溪涧岂能留得住 终归大海做波涛 2019/9/24