Bài toán đa luồng (MultiThreading in java) đọc File trong Java
1. Viết 1 chương trình Java thực hiện công việc sau:
Ghi dữ liệu xuống file ”number.txt” với:
- Dòng đầu tiên ghi 1 số ngẫu nhiên n (với 10 <= n <=100)
- Mỗi dòng tiếp theo ghi 1 số nguyên dương ngẫu nhiên từ 1 đến 500
2. Viết chương trình Java khác để thực hiện công việc:
Sử dụng 3 threads:
- Thread thứ nhất sau mỗi giây sẽ đọc dữ liệu là một số trong file “number.txt” sau giá trị n đầu tiên
Nếu số đọc được là chẵn thì chuyển qua thread 2
Nếu số đọc được là lẻ thì chuyển qua thread 3
- Thread 2:
Ngay sau khi nhận được số vừa đọc từ thread 1 thì nó sẽ in ra tất cả các ước số của số này
Ví dụ: Thread -2: 18 = 1, 2, 3, 6, 9, 18
- Thread 3:
Ngay sau khi nhận được số vừa đọc từ thread 1 thì nó sẽ hiển thị lên là bình phương của số đó
Đồng bộ 3 thread này (dùng synchronized)
Ví dụ file data sau khi được ghi:
10 83465378128945576 |
(Không được ghi số nguyên âm vào file này, kể cả số 0)
Tags: