Thông tin tài liệu:
Bài giảng Lập trình ứng dụng MiniChat bằng Java dùng cơ chế xử lý Multithread được biên soạn nhằm giúp cho các bạn nắm bắt được những kiến thức về chương trình MiniChat; kỹ thuật lập trình Java Multi-thread; cách xây dựng ứng dụng Minichat bằng JBuilder.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình ứng dụng MiniChat bằng Java dùng cơ chế xử lý Multithread - TS. Nguyễn Văn Hiệp, Nguyễn Quang Hùng
Lập trình ứng dụng MiniChat bằng Java
dùng cơ chế xử lý Multithread
TS. Nguyễn Văn Hiệp,
Nguyễn Quang Hùng
Email: hungnq2@dit.hcmut.edu.vn
Website: www.dit.hcmut.edu.vn/~hungnq/courses.htm
Mục tiêu
1. Sử dụng cơ chế Java multithread.
2. Bài tập ứng dụng MiniChat cho phép làm
quen với qui trình xây dựng 1 chương
trình theo giao diện “Dialog based” bằng
JBuilder.
Faculty of Information Technology, HCM University of Technology
Mục lục
1. Giới thiệu c.trình MiniChat
2. Kỹ thuật lập trình Java Multithread
3. Xây dựng ứng dụng Minichat bằng
JBuilder
a) Thiết kế giao diện cho MiniChat Client/Server
b) Thiết kế MiniChat server đáp ứng các kết nối
đồng thời từ các client bằng cơ chế multithread
Faculty of Information Technology, HCM University of Technology
Giới thiệu về ctrình. MiniChat
Chức năng: cho phép nhiều user đăng ký vào các nhóm để trò chuyện
với nhau.
Mô hình lựa chọn: client/server
Server: quản lý các nhóm và các user của từng nhóm, phân phối
chuỗi thông tin từ một user đến các user khác.
Client: giao tiếp với các user; cho phép họ đăng ký nhóm; gởi/nhận
thông tin cho nhau.
Định nghĩa giao thức dùng cho hệ thống MiniChat:
Lệnh GLIST
Lệnh ULIST
Lệnh LOGIN ,
Lệnh SEND
Lệnh LOGOU
Dạng reply cho tất cả các request:
N
N = 1: Thành công, N = 0: Thất bại
Faculty of Information Technology, HCM University of Technology
Giao diện của ch.trình MiniChat client
Cửa sổ nhập thông tin của
button “Connect”
Cửa sổ nhập thông tin của
button “login”
Faculty of Information Technology, HCM University of Technology
Giao diện của MS. Visual C++ IDE
Chạy Microsoft Visual C++từ Start Programs Microsoft Visual C++
Faculty of Information Technology, HCM University of Technology
Kỹ thuật lập trình Java Multithread
Tài liệu tham khảo:
java.sun.com
Kỹ thuật Java Multithread
Thread là một luồng thực thi trong một
chương trình. Máy ảo JVM cho phép một
ứng dụng có nhiều luồng thực thi đồng
thời.
Có 2 cách dùng Java multithread (đa luồng):
Khai báo một lớp kế thừa từ lớp Thread và
override method Thread.run().
Khai báo một lớp hiện thực interface Runnable
và method Runnable.run()
Faculty of Information Technology, HCM University of Technology
Cách 1: Kế thừa từ lớp Thread
1. class PrimeThread extends Thread {
2. long minPrime;
3. PrimeThread( long minPrime ) {
4. this.minPrime = minPrime;
5. }
6. public void run( ) {
7. // compute primes larger than minPrime
8. ...
9. }
10. }
11. PrimeThread p = new PrimeThread(143);
12. p.start();
Faculty of Information Technology, HCM University of Technology
Cách 2: Hiện thực giao diện Runnable
1. class PrimeRun implements Runnable {
2. long minPrime;
3. PrimeRun ( long minPrime ) {
4. this.minPrime = minPrime;
5. }
6. public void run() {
7. // compute primes larger than minPrime
8. ...
9. }
10. }
11. PrimeRun p = new PrimeRun(143);
12. new Thread(p).start();
Faculty of Information Technology, HCM University of Technology
Thread – Các constructor của lớp Thread
Thread( ) Allocates a new Thread object.
Thread ( Runnable target)
Thread (Runnable target, String name)
Thread (String name)
Thread (ThreadGroup group, Runnable target)
Thread (ThreadGroup group, Runnable target, String name)
Tạo ra 1 thread mới, target là đối tượng có method run để chạy,
tên được xác định bởi name, thuộc về 1 group.
Thread (ThreadGroup group, Runnable target, String name,
long stackSize)
Giống trên nhưng có thêm kích thước stack của thread mới.
Thread (ThreadGroup group, String name)
Faculty of Information Technology, HCM University of Technology
Thread – Các method khác
void start()
void run()
boolean isAlive()
get/setName()
static void sleep()
setDaemon (boolean on); isDaemon()
Các method join()
…
Faculty of Information Technology, HCM University of Technology
Xây dựng ứng dụng MiniChat bằng
JBuilder
Xây dựng ứng dụng MiniChat bằng JBuilder
Faculty of Information Technology, HCM University of Technology
Đóng các projects đang mở
Chọn menu File.Close projects
Chọn button “All” để đóng tất cả projects đang mở
Faculty of Information Technology, HCM University of Technology
Tạo project mới tên MiniChatClient
Chọn File.New projects
Faculty of Information Technology, HCM University of Technology
Project Wizard – Step 1 of 3
Nhập tên Project, lựa chọn thư mục lưu project, chọn Template (nên
để default project), rồi chọn Next
Faculty of Information Technology, HCM University of Technology
Project Wizard – Step 2 of 3
Chọn JDK (1.4.1), chọn các đường dẫn lưu các lớp, c.trình nguồn,
thư mục Working (nên để mặc định)
Faculty of Information Technology, HCM University of Technology
Project Wizard – Step 2 of 3
Thêm các thư viện dùng kèm theo (nếu có) ở tab Required
Libraries. Rồi chọn NEXT
Faculty of Information Technology, HCM University of Technology
Project Wizard – Step 3 of 3
Xác định mã hóa (UTF8), thêm các thông tin khác về tên dự án, mô
tả… và chọn FINISH
Faculty of Information Technology, HCM University of Technology
...