Mình đang viết một chương trình tìm đường đi trong mê cung. Mê cung chỉ có 1 đường duy nhất dẫn đến lối ra, mình gọi là Path_Solution. Lối vào và lối ra của mê cung không thay đổi cho dù kích cỡ mê cung có tăng lên. Lối vào nằm ở top left corner, lối ra nằm ở bottom right corner. Yêu cầu: dùng multithreading trong C++. Thuật toán nào cũng được nên mình dùng depth first search.
Để đáp ứng được yêu cầu bài toán là multithreading thì mình tạo 2 thread, 1 thread sẽ bắt đầu đi từ trên xuống, thread kia đi từ dưới lên. Mỗi thread có cái list riêng của nó để lưu lại những vị trí nằm trong Path_Solution.
Vấn đề của mình bây giờ là làm sao để cho 2 cái thread nói chuyện được với nhau khi nó cùng đi qua 1 điểm chung nằm trong Path_Solution thì dừng lại. Bây giờ 2 cái thread nó chạy song song và chạy từ đầu này qua đầu kia luôn chứ không dừng lại khi gặp điểm chung. Các bạn có thể gợi ý cho mình giải quyết vấn đề đươc không?
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?