Quay lại thư viện câu hỏi
concurrency Junior

Làm thế nào để phân biệt giữa tính chất Thread-safe và Reentrancy trong lập trình đa luồng, và tại sao một hàm Reentrant luôn an toàn trong môi trường đa luồng?

Thread-safe là thuộc tính của mã nguồn đảm bảo rằng khi nhiều luồng cùng thực thi, trạng thái của chương trình vẫn đúng đắn. Reentrancy là một khái niệm cụ thể hơn: một hàm được gọi là Reentrant nếu nó có thể bị ngắt quãng giữa chừng và được gọi lại (ví dụ bởi một tín hiệu hoặc một luồng khác) mà không làm hỏng dữ liệu. Một hàm Reentrant không sử dụng các biến toàn cục hoặc tài nguyên chia sẻ không được bảo vệ. Sự khác biệt chính: Một hàm Thread-safe có thể sử dụng khóa (Lock) để bảo vệ dữ liệu, nhưng hàm Reentrant không cần khóa vì nó không chia sẻ trạng thái. Trong lập trình Enterprise, viết code Reentrant giúp giảm thiểu độ phức tạp của việc quản lý trạng thái và tránh các lỗi tranh chấp dữ liệu khó phát hiện.

Luyện tập câu hỏi này trong chế độ đếm ngược mô phỏng phỏng vấn thật:
Phòng Luyện Tập
Khóa học Chuyên sâu Chủ đề concurrency

Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp

Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.

Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)

Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.

High-Ticket Mentoring
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?

Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.

AI Resume Scanner
Kiểm Tra CV Chuẩn ATS Miễn Phí

Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học