Tải bản đầy đủ (.ppt) (46 trang)

Bài giảng lập trình hướng đối tượng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (975.81 KB, 46 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÀI GIẢNG MÔN
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Giảng viên: Nguyễn Mạnh Sơn
Điện thoại: 0904574001
Bộ môn: Công nghệ phần mềm - Khoa CNTT1
Học kỳ/Năm biên soạn: I – 2009/2010
12/09/12 2
Lập trình đa luồng
(Thread)
12/09/12 3
Nội dung

Tổng quan về thread

Vòng đời của thread

Các cách tạo thread

Đồng bộ

Liên lạc giữa các thread

Giao diện Executors
12/09/12 4
Tổng quan về thread

Thread là một đơn vị hành động của hệ điều hành.
Một chương trình có thể chia làm nhiều thread.

Các thread của một chương trình có thể thực hiện


gần như đồng thời.

Hai cách tạo Thread:

Tạo dẫn xuất từ lớp thread của Java

Cài đặt giao tiếp Runnable
12/09/12 5
Tổng quan về thread
12/09/12 6
Vòng đời của một Thread
A thread can in one of several possible states:
1. Running
● Currently running
● In control of CPU
2. Ready to run
● Can run but not yet given the chance
3. Resumed
● Ready to run after being suspended or block
4. Suspended
● Voluntarily allowed other threads to run
5. Blocked
● Waiting for some resource or event to occur
12/09/12 7
Vòng đời của một Thread
12/09/12 8
Vòng đời của một Thread (tiếp)

Bước 1: Tạo mới một thread (theo một trong hai cách)


Bước 2: Khai báo đối tượng thread => chuyển về trạng
thái sẵn sàng (Ready)

Bước 3: Khởi động Thread dùng phương thức Start =>
chuyển sang trạng thái Running

Bước 4: Tạm dừng một Thread thông qua lệnh Sleep =>
Chuyển về trạng thái Waiting rồi Ready

Bước 5: Chấm dứt một Thread bằng lệnh Stop =>
Chuyển sang trạng thái Dead.
12/09/12 9
Tạo thread mới
12/09/12 10
Tạo thread mới – Cách 1
12/09/12 11
Tạo thread mới – Cách 1
12/09/12 12
Tạo thread mới – Cách 1
12/09/12 13
Tạo thread mới – Cách 2
12/09/12 14
Tạo thread mới – Cách 2
12/09/12 15
Phân biệt hai cách tạo Thread

Implementing the
Runnable
interface


May take more work since we still

Declare a
Thread
object

Call the
Thread
methods on this object

Your class can still extend other class

Extending the
Thread
class

Easier to implement

Your class can no longer extend any other class
12/09/12 16
Các phương thức trong thread
12/09/12 17
Ví dụ về thread - 1
12/09/12 18
Ví dụ về thread - 2

×