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
E-mail:
Website: www.dit.hcmut.edu.vn/~hungnq/courses.htm
Faculty of Information Technology, HCM University
of Technology
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 Multi-thread
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
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++
Kỹ thuật lập trình Java Multithread
Tài liệu tham khảo:
java.sun.com
Faculty of Information Technology, HCM University
of Technology
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 ) {
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()
(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 (UTF-8), 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
Tạo 1 ứng dụng trong project MiniChatClient
Chọn menu File.New để mở Object Gallery. Chọn icon Application
để tạo một ứng dụng mới trong project MiniChatClient
Faculty of Information Technology, HCM University
of Technology
Application Wizard – Step 1 of 3
Nhập tên ứng dụng, chọn package cho các class sẽ tạo ra, tên lớp
Application mới này.
Faculty of Information Technology, HCM University
of Technology
Application Wizard – Step 2 of 3
Nhập tên class, tựa đề, chọn các mục tạo status bar, About