Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Asynchronous Programming Design Patterns - C/C++

Mẫu Thiết Kế Lập Trình Bất Đồng Bộ - C/C++

Mẫu Thiết Kế Lập Trình Bất Đồng Bộ - C/C++

Lập Trình Hệ Thống, C/C++, Khái Niệm Đa Luồng, Đồng Bộ Luồng, Các Khóa Học Dự Án Hệ Điều Hành, Vòng Lặp Sự Kiện

4.5
(115 đánh giá)
2,072 học viên
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
7.0 giờ video
73 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Nghệ Thuật Lập Trình Bất Đồng Bộ
Cách Giao Tiếp Theo Phương Thức Bất Đồng Bộ
Viết Bộ Lập Lịch Tính Toán
Thu Gọn Ứng Dụng Đa Luồng Thành Ứng Dụng Đơn Luồng
Thiết Kế và Triển Khai Phần Mềm Bất Đồng Bộ
Triển Khai Tính Đồng Thời Trong Ứng Dụng Đơn Luồng
Thiết Kế và Triển Khai Vòng Lặp Sự Kiện
Triển Khai Lệnh Gọi Chặn và Không Chặn

Yêu cầu

Hiểu Khái Niệm Đồng Bộ Luồng - Mutex và Biến Điều Kiện (có thể dùng bất kỳ thư viện luồng nào, nhưng chúng ta sẽ dùng pthreads)
Ưu tiên C hoặc C++, nhưng nếu bạn thích ngôn ngữ chính thống khác cũng được. Hãy mượn các khái niệm và triển khai bằng ngôn ngữ bạn yêu thích.
Thoải mái với các cấu trúc dữ liệu cơ bản như Danh Sách Liên Kết. Có lòng nhiệt huyết học hỏi và vượt trội - vượt xa những gì đám đông đang làm (CTDL&GT/Thi đấu).

Đối tượng phù hợp

Cảnh báo: Không dành cho người hoàn toàn mới bắt đầu lập trình
Dành cho những ai muốn nâng kỹ năng lập trình từ Mới Bắt Đầu lên trình độ Chuyên Nghiệp
Sinh viên năm cuối muốn chinh phục các Câu Hỏi Phỏng Vấn về Hệ Điều Hành, Khái Niệm Đa Luồng

Nội dung khóa học

11 phần • 66 bài giảng
1 Nội dung chính
2 Truy cập mã nguồn khóa học
3 Ví dụ 1: Đồng Bộ vs Bất Đồng Bộ
4 Ví dụ 2: Đồng Bộ vs Bất Đồng Bộ
5 Bất Đồng Bộ vs Đa Luồng
6 Mô Hình Thiết Kế Bất Đồng Bộ Đa Luồng
7 Bố cục khóa học
1 Mục tiêu phần này
2 Cơ Chế Hoạt Động Bên Trong Vòng Lặp Sự Kiện
3 Truy cập mã nguồn khóa học
4 Cấu Trúc Dữ Liệu của Vòng Lặp Sự Kiện
5 Triển Khai API init( ) và run( )
6 Nhập các API Hỗ Trợ
7 Triển Khai Luồng Vòng Lặp Sự Kiện
8 Gửi Tác Vụ
9 Demo 1 - Demo Sử Dụng Vòng Lặp Sự Kiện
10 Demo 2 - Tính Đồng Thời Trong Đơn Luồng
11 Tại sao cần khóa trong môi trường đa luồng?
12 Tại sao Vòng Lặp Sự Kiện không cần khóa?
13 Vòng Lặp Sự Kiện cung cấp Tính Đồng Thời, nhưng không phải Song Song
1 Nội dung phần này?
2 Công Việc Chồng Chéo & Không Chồng Chéo
3 Đa Luồng có luôn luôn tốt hơn không?
4 Phụ Lục C Hoàn Chỉnh
5 Xác Định Bài Toán
6 Thảo Luận Giải Pháp
7 Thiết Lập Dự Án Kiểm Thử
8 Tích Hợp Vòng Lặp Sự Kiện - Phần 1
9 Tích Hợp Vòng Lặp Sự Kiện - Phần 2
1 Nội dung phần này
2 Làm Quen với Thư Viện Hẹn Giờ
3 Đề Xuất Thay Đổi Mã Nguồn
4 Tích Hợp Bộ Hẹn Giờ - Thay Đổi Mã Nguồn
5 Vòng Lặp Sự Kiện Xử Lý Sự Kiện Hẹn Giờ
6 Tóm Tắt Vòng Lặp Sự Kiện
1 Tại sao Ngắt Quyền Quan Trọng
2 Triển Khai Hỗ Trợ Ngắt Quyền
3 Ngắt Quyền - Minh Họa và Ví dụ trong STP - Phần 1
4 Ngắt Quyền - Minh Họa và Ví dụ trong STP - Phần 2
5 Bài Tập - Giới Thiệu Tác Vụ Mới để Tuần Tự Hóa và Gửi Dữ Liệu
1 Ưu Tiên Tác Vụ
2 Triển Khai Ưu Tiên Tác Vụ
3 Vấn Đề Được Giải Quyết - Phần 1
4 Vấn Đề Được Giải Quyết - Phần 2
1 Xóa Sớm là gì?
2 Giải Pháp
3 Xóa Đối Tượng Đơn
4 Xóa Đối Tượng Chứa - Phần 1
5 Xóa Đối Tượng Chứa - Phần 2
1 Hiểu Đồng Bộ Hóa Sản Xuất-Tiêu Thụ
2 Kiểm Tra Lỗ Hổng Vòng Lặp Sản Xuất-Tiêu Thụ
1 Tại sao cần Tính Đồng Thời?
2 Ví dụ 1 về Tính Đồng Thời
3 Ví dụ 2 về Tính Đồng Thời
1 Luồng Lắng Nghe - Ủy Quyền Trách Nhiệm
2 Chuẩn Bị Triển Khai
3 API Mạng và Demo
4 Triển Khai Ứng Dụng Đa Luồng Lắng Nghe
5 Xem Nhanh Mã Nguồn Luồng Lắng Nghe
1 Nội dung và Điều Kiện Tiên Quyết
2 Các Loại Bộ Hẹn Giờ
3 API Posix cho Bộ Hẹn Giờ
4 Thiết Kế Bộ Hẹn Giờ
5 Các Bước Tạo Bộ Hẹn Giờ
6 Triển Khai và Demo Bộ Hẹn Giờ
7 Phần Thưởng Thêm

Giới thiệu khóa học


Welcome to the World of Asynchronous Programming!!


Asynchronous programming is used anywhere where your application interacts with other external entities - be it other threads, other processes. This world by its nature is Asynchronous. Asynchronous literally means - anything can happen anytime - unpredictable. How do you write software through Asynchronous programming? That's what we shall be going to learn in this course.  Big software projects of reasonable sizes are Asynchronous. Software projects leave their synchronous boundaries the moment it starts integrating and communicating with external entities or go multithreaded.

Asynchronous programming is widely used in Distributed Systems, Networking Protocols, Distributes Databases, etc.


The prerequisite of this Course :

Know Thread Synchronization Concepts - Mutexes and Condition Variables ( any thread library, but we will be using pthreads )

C or C++ in preferable, but if your fav language is any other mainstream language then also it is ok. Borrow the concepts and implement it in your fav language.

Comfortable with basic Data structures such as Linked-List.

Zeal to learn and excel - beyond what Crowd is doing ( DS/ALGO/CP )


The end product of this Course shall be a mini library yet very powerful library which allows you do develop software through Asynchronous programming.


Course Difficulty Level :

The Course is level is Intermediate to Advanced. Very beginners pls refrain from enrolling into the Course.



Software Designing Problems to Address in this Course :


Problem 1. Simulating Concurrency in Single-Threaded Programs

problem 2. Reducing Multi-threaded Programs to Single Threaded

Problem 3. Work Deferrals

Problem 4. Asynchronous Communication

Problem 5. Queuing and Processing Incoming Network Packets


Good luck ! Happy Learning.


After doing this course You would understand :


  • Problems with Synchronous programming

  • Design and Implement Asynchronous Application/Softwares

  • What type of applications/softwares must not be multi-threaded

  • What type of applications/softwares must be asynchronous

  • Say good bye to locking and thread synchronization for forever.

The Concepts you would learn in this course are portable to other programming languages of your choice

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Asynchronous Programming
Hiển thị tất cả khoá học C Plus Plus
Hiển thị tất cả khoá học Design Patterns
Hiển thị tất cả khoá học Software Development
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊