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

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

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 (967.18 KB, 38 trang )

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


Mục tiêu
1.
2.

Sử dụng cơ chế Java multithread.
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
Giới thiệu c.trình MiniChat
Kỹ thuật lập trình Java Multi-thread
Xây dựng ứng dụng Minichat bằng JBuilder

1.
2.
3.
a)



b)

Thiết kế giao diện cho MiniChat Client/Server
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 <CRLF>
Lệnh ULIST <CRLF>
Lệnh LOGIN <tên group>,<tên user> <CRLF>
Lệnh SEND <string> <CRLF>
Lệnh LOGOU <CRLF>

Dạng reply cho tất cả các request:



N <chuỗi dữ liệu phụ kèm theo>
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.
2.
3.
4.
5.
6.
7.
8.
9.
10.

11.
12.

class PrimeThread extends Thread {
long minPrime;
PrimeThread( long minPrime ) {
this.minPrime = minPrime;
}

public void run( ) {
// compute primes larger than minPrime
...
}
}
PrimeThread p = new PrimeThread(143);
p.start();
Faculty of Information Technology, HCM University of
Technology


Cách 2: Hiện thực giao diện Runnable
1.
2.
3.
4.
5.

class PrimeRun implements Runnable {
long minPrime;
PrimeRun ( long minPrime ) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
...
}

6.
7.

8.
9.
10.

11.
12.

}
PrimeRun p = new PrimeRun(143);
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)





Thread (ThreadGroup group, Runnable target, String name,
long stackSize)




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.

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 (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
dialog… Rồi chọn NEXT

Faculty of Information Technology, HCM University of
Technology


Application Wizard – Step 3 of 3
Nhập tên quản lý cấu hình run time (nên để mặc định). Rồi
ấn nút FINISH để tạo ứng dụng MiniChatClient

Faculty of Information Technology, HCM University of
Technology


Tạo ứng dụng c.trình MiniChatClient

Faculty of Information Technology, HCM University of
Technology


×