2009-10-27 29 views

Trả lời

7

Google Thread Weaver cung cấp khả năng tương tự cho Java. Từ trang dự án của Thread Weaver:

Thread Weaver là khuôn khổ để viết các thử nghiệm đơn vị đa luồng trong Java.

Nó cung cấp cơ chế để tạo điểm ngắt trong mã của bạn và để tạm dừng thực hiện chuỗi khi đạt đến điểm ngắt. Các chủ đề khác sau đó có thể chạy trong khi luồng đầu tiên bị chặn. Điều này cho phép bạn viết các bài kiểm tra lặp lại có thể kiểm tra các điều kiện chủng tộc và an toàn luồng.

+0

Tôi không biết về nó. Tôi đoán CHESS là toàn diện hơn, nhưng cảm ơn thông tin! –

5

Nếu bạn chỉ muốn kiểm tra chương trình java của mình, bạn đã xem xét thực hiện theo cách khác: chuyển đổi java sang mã được quản lý (http://www.ikvm.net/) và chạy cờ bằng cờ? Có một vài công cụ phân tích tĩnh cho java, ví dụ như findbugs, có thể giúp bạn tìm các vấn đề tương tranh dựa trên việc xem mã nguồn của bạn, nhưng tôi chưa thấy bất cứ thứ gì thực sự cố gắng chạy một ứng dụng.

+0

+1: Một ý tưởng thú vị. IKVM là một (sớm) thực hiện một JVM và các thư viện lớp Java trên .NET. –

+0

Điều đó thật thú vị; cám ơn vì sự gợi ý. Nhưng là mô hình bộ nhớ Java tương tự như của NET? Tôi lo lắng rằng việc chạy mã Java trên .NET có thể gây ra các vấn đề khác nhau để xuất hiện ... –

+0

Hosam: Hầu hết mã Java có lẽ không dựa vào các chi tiết mô hình bộ nhớ chính xác để chạy chính xác. Vì vậy, tôi nghĩ rằng nó không chắc rằng các bài kiểm tra của bạn thất bại trên những điều đó. Hãy nhớ rằng mô hình bộ nhớ là một phần lớn một chi tiết thực hiện, ngay cả đối với Java (mặc dù nhiều điều được chỉ định, thực sự, nhưng các chương trình bình thường hiếm khi cần phải dựa vào đó). – Joey

Các vấn đề liên quan