Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: Hai thread in xen kẽ chuỗi A và B N lần bằng synchronized

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 9: Lập trình đa luồng — khóa Lập trình Java

    Tạo 2 thread: thread A và thread B. Cùng dùng một biến chung và một lock. Yêu cầu in ra ABABAB... với A và B xuất hiện đúng N lần.

    1. Dùng object lock chung và biến turn (0 = đến lượt A, 1 = đến lượt B).
    2. Thread A trong vòng lặp for (int i = 0; i < N; i++): synchronized (lock) đợi đến lượt mình rồi ghi 'A' vào StringBuilder dùng chung, chuyển turn = 1, notifyAll().
    3. Thread B làm tương tự với 'B'.
    4. Sau khi cả 2 thread join(), main in ra StringBuilder.
    • Định dạng đầu vào:
      • Dòng 1: N (1 ≤ N ≤ 1000)
    • Ràng buộc đầu vào:

      1 ≤ N ≤ 1000

    • Định dạng đầu ra:

      Một chuỗi ABAB...AB có độ dài 2N, theo sau bởi newline.

    Ví dụ:

    Đầu vào:

    3
    

    Đầu ra:

    ABABAB
    

    Giải thích:

    ABABAB.

    Đầu vào:

    1
    

    Đầu ra:

    AB
    

    Giải thích:

    AB.

    Đầu vào:

    5
    

    Đầu ra:

    ABABABABAB
    

    Giải thích:

    ABABABABAB.

    Đầu vào:

    10
    

    Đầu ra:

    ABABABABABABABABABAB
    

    Chủ đề

    ☕ JavaJavaThreadTất cả môn học

    Đang tải editor...