2009-10-27 18 views

Odpowiedz

7

Google's Thread Weaver zapewnia podobną możliwość Java. Ze strony projektu Thread Weaver:

Thread Weaver to framework do pisania wielowątkowych testów jednostkowych w języku Java.

Udostępnia mechanizmy do tworzenia punktów przerwania w kodzie oraz do zatrzymywania wykonywania wątku po osiągnięciu punktu przerwania. Inne wątki mogą wtedy działać, gdy pierwszy wątek jest zablokowany. Umożliwia to zapisanie powtarzalnych testów, które mogą sprawdzić warunki wyścigu i bezpieczeństwo gwintu.

+0

Nie wiedziałem o tym. Chyba CHESS jest bardziej wszechstronny, ale dzięki za informację! –

5

Jeśli chcesz tylko sprawdzić swój program java, czy rozważałeś zrobienie tego na odwrót: skonwertuj java na kod zarządzany (http://www.ikvm.net/) i uruchom go w szachy?

Istnieje sporo narzędzi do analizy statycznej dla java, na przykład findbugs, które mogą pomóc w znalezieniu problemów związanych z współbieżnością na podstawie analizy kodu źródłowego, ale nie widziałem niczego, co mogłoby faktycznie uruchomić aplikację.

+0

+1: ciekawy pomysł. IKVM to (wczesna) implementacja JVM i bibliotek klasy Java w .NET. –

+0

To interesujące; dzieki za sugestie. Ale czy model pamięci Java jest podobny do modelu .NET? Obawiam się, że uruchomienie kodu Java na platformie .NET może spowodować pojawienie się różnych problemów ... –

+0

Hosam: Większość kodu Java prawdopodobnie nie zależy od dokładnej specyfikacji modelu pamięci, aby działał poprawnie. Sądzę więc, że jest mało prawdopodobne, że twoje testy zawiodą w tych rzeczach. Pamiętajmy, że model pamięci jest w dużej części szczegółem implementacji, nawet dla Javy (chociaż wiele rzeczy jest określonych, ale normalne programy rzadko muszą na tym polegać). – Joey

Powiązane problemy