LẬP TRÌNH<br />
ĐA LUỒNG (MULTITHREAD)<br />
TRONG JAVA<br />
<br />
Nội dung<br />
Giới thiệu về đơn luồng và đa luồng<br />
<br />
Tạo và quản lý luồng trong java<br />
Sử dụng Thread và Runnable<br />
Vòng đời Thread<br />
Độ ưu tiên, Đồng bộ hóa<br />
<br />
Ví dụ minh họa<br />
<br />
Lập trình đơn luồng<br />
(Single Threaded Programming)<br />
Chương trình biên dịch thành mã máy. Khối mã này được CPU<br />
<br />
xử lý tuần tự.<br />
Xử lý đơn luồng đơn giản, dễ kiểm soát, dễ dàng biết được<br />
<br />
lỗi phát sinh ở đâu.<br />
Thời gian xử lý các câu lệnh khác nhau, nhưng một câu lệnh<br />
<br />
chưa thực thi xong thì các câu lệnh khác không được chạy <br />
không hợp lý.<br />
<br />
Lập trình đa luồng<br />
(Multi Threaded Programming)<br />
Nhiều câu lệnh, nhiệm vụ được thực hiện đồng thời,<br />
<br />
cùng một không gian bộ nhớ, và các luồng có thể<br />
cho phép chia sẻ các đối tượng dữ liệu để cùng xử lý.<br />
<br />
Giới thiệu HĐH đa nhiệm<br />
Hệ điều hành đa nhiệm cổ điển:<br />
<br />
<br />
Đơn vị cơ bản sử dụng CPU là process.<br />
<br />
<br />
<br />
Process là đoạn chương trình độc lập đã được nạp vào bộ nhớ.<br />
<br />
<br />
<br />
Mỗi process thi hành một ứng dụng riêng.<br />
<br />
<br />
<br />
Mỗi process có một không gian địa chỉ và một không gian<br />
<br />
trạng thái riêng.<br />
<br />
<br />
Các process liên lạc với nhau thông qua cơ chế điều phối của<br />
HĐH.<br />
<br />