Bài giảng Kỹ thuật phần mềm: Chương 6 "Đa luồng" sau khi học xong chương này người học có thể hiểu về: chương trình Thread, vòng đời của thread, đa luồng (Multithreading), xếp lịch chạy cho thread, Thread safe, Deadlock, cơ chế Lock, cơ chế synchronized và SwingWorker. nội dung bài giảng. | ĐA LUỒNG Multithreading Nội dung bài học • Thread • Vòng đời của thread • Multithreading • Xếp lịch chạy cho thread • Thread safe • Deadlock • Lock và synchronized • SwingWorker Thread là gì • Thread /θred/ • Thread là một tiến trình hạng nhẹ (lightweight process), là luồng logic tuần tự các lệnh chương trình, với một điểm bắt đầu và một điểm kết thúc • Trong vòng đời của mình, thread chỉ được thực thi một lần duy nhất • Bản thân thread không phải là một chương trình, nó không chạy độc lập mà nằm trong một chương trình hoàn chỉnh Thread là gì • Một chương trình có thể là đơn luồng (single-thread) hoặc đa luồng (multi-thread) • Đơn luồng: 1 điểm vào và 1 điểm ra • Đa luồng: 1 điểm bắt đầu ở main(), sau đó là nhiều điểm vào và nhiều điểm ra chạy song hành với main() Đa nhiệm (Multitasking / Multi-processing) • Đa số các HĐH hiện nay là đa nhiệm • Thực hiện đồng thời nhiều công việc dựa trên chia sẻ tài nguyên: CPU, bộ nhớ, các kênh vào ra • Với CPU đơn nhân: chỉ một tác vụ được thực hiện tại một thời điểm, xếp lịch trên các khe thời gian (time .