+64
Multithread programming: Từ hardware tới software với Java
Chúng ta đã nghe nhiều về concurrent programming, parallel programming hay đơn giản và gần gũi nhất là multi-thread programming. Nó có gì hay ho kì ảo mà được bàn luận nhiều đến vậy?
Chủ đề này không mới, với 0.7s, Google trả về khoảng 700 triệu kết quả. Tuy nhiên phần nhiều các bài viết tiếng Việt khá khô khan hoặc dịch chưa chuẩn. Các kết quả tiếng Anh thì... dài, mất công translate, thôi quay lại tiếng Việt vậy.
Nói vậy thôi, mình cũng chỉ đi nghiên cứu tìm tòi và tổng hợp lại dưới góc nhìn cá nhân, có thể dễ hiểu và hấp dẫn hơn. Mọi người tự kiểm chứng nhé.
Series bao gồm các chủ đề:
- 001: Parallel computing hardware P1
- 002: Parallel computing hardware P2
- 003: Thread và Process
- 004: Concurrent và Parallel
- 005: OS đối xử với thread thế nào?
- 006: Vòng đời của thread diễn ra thế nào trong Java?
- 007: Data race và Mutual exclusion
- 008: Lock và lock-free trong Java, từ lý thuyết đến thực tiễn
- 009: Deadlock, Livelock, Abandoned lock và Starvation
- 010: Nhầm tưởng về Data race và Race condition?
- 011: Cách giải quyết Race condition
- 012: Sự thật về Hyper-threading
- 013: Lập trình multi-thread có thật sự nhanh hơn single-thead?
- 014: Đánh giá performance khi lập trình multi-thread P1
- 015: Đánh giá performance khi lập trình multi-thread P2
- 016: Cách thiết kế chương trình parallel execution P1
- 017: Cách thiết kế chương trình parallel execution P2
- 018: Cooperative và Preemptive trong Multi-tasking
- 019: Lightweight thread và Threading model
Subcribe để nhận thông báo khi có bài viết mới nhé!
Reference
- https://en.wikipedia.org/wiki/Amdahl's_law
- https://en.wikipedia.org/wiki/Flynn's_taxonomy
- https://en.wikipedia.org/wiki/Parallel_computing
- https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/
- https://www.geeksforgeeks.org/hardware-architecture-parallel-computing/
- https://www.geeksforgeeks.org/difference-between-concurrency-and-parallelism/
- https://www.modernescpp.com/index.php/race-condition-versus-data-race
- https://www.intel.com/content/www/us/en/gaming/resources/hyper-threading.html
- https://www.linkedin.com/learning/parallel-and-concurrent-programming-with-java-1
- https://www.hp.com/us-en/shop/tech-takes/what-is-hyperthreading
© Dat Bui
NỘI DUNG
5.0K 19 0
39
8.1K 23 0
57
Nhìn quả series chất lượng quá. Chấm tiếp thu hết những kiến thức tác giả đúc kết được ở những bài viết.