Ngân hàng câu hỏi của chương

Câu hỏi: PRN222 - Chương 2: Lập trình bất đồng bộ và song song

23 câu trắc nghiệm kèm lời giải của môn Advanced Cross-Platform Application Programming With .NET - Lập trình ứng dụng đa nền tảng nâng cao với .NET, xếp theo thứ tự nhập vào ngân hàng. Trang 2/2 — câu 21–23.

Danh sách câu hỏi

23/23 câuHết danh sách
AEvent-based Asynchronous Pattern (EAP)
BAsynchronous Programming Model (APM)
CTask-based Asynchronous Pattern (TAP)
DDelegate pattern
Lời giải

Đáp án đúng: "Task-based Asynchronous Pattern (TAP)". async/await trong C# được xây trên Task-based Asynchronous Pattern: một phương thức bất đồng bộ trả về Task hoặc Task<T>, và await tạm dừng phương thức cho tới khi Task hoàn tất mà không chặn luồng. TAP ra đời từ .NET 4 và là mẫu được khuyến nghị hiện nay. Event-based Asynchronous Pattern là mẫu cũ dùng cặp phương thức MethodAsync kèm sự kiện MethodCompleted; Asynchronous Programming Model là mẫu còn cũ hơn với cặp BeginXxx/EndXxx và IAsyncResult; mẫu delegate không phải một mô hình bất đồng bộ chuẩn.

Mở trang câu hỏi này →
AIncreased memory usage.
BReduced network bandwidth.
CSimplified debugging.
DData races and inconsistent results.
Lời giải
Đáp án đúng: "Data races and inconsistent results." Khi nhiều luồng cùng đọc và ghi lên một vùng dữ liệu chia sẻ mà không có cơ chế đồng bộ như lock, Monitor, Interlocked hay các bộ sưu tập concurrent, thì thứ tự thao tác trở nên bất định và sinh ra data race: kết quả sai lệch, thay đổi giữa các lần chạy và rất khó tái hiện khi gỡ lỗi. Đó là rủi ro nghiêm trọng nhất của lập trình song song. Tăng bộ nhớ ("Increased memory usage.") chỉ là chi phí phụ; giảm băng thông mạng ("Reduced network bandwidth.") không liên quan; và gỡ lỗi trở nên KHÓ hơn chứ không đơn giản hơn nên "Simplified debugging." sai hẳn.
Mở trang câu hỏi này →
23What is a multi-processor system?4 lựa chọn
AA system with a single CPU core.
BA system with multiple CPUs.
CA system with a single thread.
DA system with no network connection.
Lời giải
Đáp án đúng: "A system with multiple CPUs." Hệ đa bộ xử lý là hệ thống có từ hai CPU trở lên cùng chia sẻ bộ nhớ và hệ điều hành, nhờ đó nhiều luồng lệnh thực sự chạy đồng thời chứ không chỉ luân phiên chia thời gian. Đây là nền tảng phần cứng cho lập trình song song với Task Parallel Library hay Parallel.For trong .NET. Hệ một lõi CPU ("A system with a single CPU core.") chính là mono-processor; hệ chỉ có một luồng ("A system with a single thread.") nói về mô hình thực thi phần mềm chứ không phải cấu hình phần cứng; và việc có hay không kết nối mạng ("A system with no network connection.") hoàn toàn không liên quan tới số bộ xử lý.
Mở trang câu hỏi này →