: Buyer Payment Scheduler
2. Người dùng ral ệnh rút tiền từ tài khoản A 500USD →
xử lý :
21bĐọc tài khoản A vào bộ nhớ, 22b Giảm giá trị tài khoản trong bộ nhớ ₫i 500USD. 23b Ghi lại giá trị mới. 3. Quay vềbước 1 Tài khoản A
Nếu tài khoản A là 1000USD và HĐH ₫iều khiển chạy 2 process P1 và P2 theo thứtự21a→22a→21b→22b→23b→23a thì kết quảtài khoản A sẽlà 1700USD
Bö mön Cöng nghï phền mï̀m Khoa CNTT
ĐH Bach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 213 Trong quá trình debug, ứng dụng sẽ ở 1 trong 2 chế₫ộ sau :
Pause: chế₫ộcủaứng dụng trước khi chạy hay khi dừng lại theo 1 ₫iều kiện dừng nào₫ó của người debug. VC++ sẽ ghi nhớ lệnh sắp thi hành trước khi dừng (lệnh₫ầu tiên củaứng dụng nếu nó chưa bắt₫ầu chạy). Do tính lịch sử, ta dùng thuật ngữ PC - program counter ₫ểnói về lệnh này. Ở chế ₫ộ này, người debug có thểxem trạng thái của ứng dụng : giá trịcủa các biến dữliệu
₫ểbiếtứng dụng chạy₫úng hay sai theo yêu cầu, lịch sử gọi hàm trong call strack, thêm/bớt các ₫iều kiện dừng,… ₫iều khiển việc thi hành tiếp theo của
ứng dụng, lúc nàyứng dụng sẽchuyển sang chế₫ộ Running.
Running: chế₫ộmàứng dụng₫ang chạy các lệnh của nó₫ến khi nó gặp 1
₫iều kiện dừng ₫ã thiết lập trước, lúc này ứng dụng sẽ chuyển về chế ₫ộ
Pause.
Trong quá trình debug, ứng dụng ở chế ₫ộ Pause chủ yếu thời gian và người debug tương tác vớiứng dụng chủyếuở chế₫ộnày. Mỗi khiứng dụng₫ược chạy tiếp, nó chuyển qua chế₫ộRunning, nhưng sẽnhanh chóng chạy₫ến lệnh dừng và chuyển vềchế₫ộPause (trừphi bị'blocked' chờI/O hay bị'loop' trong các vòng lặp vô tận).