2013-03-03 1 views
2

предположим, у меня есть метод Java (сложение массива, например)проверить переменных и заявлений зависимостей в петле из класса Java

public void mymethod() { 
    { 
    //i have some global arrays named a, b & c 
    for(int i=0;i<10;i++) 
    a[i]=b[i]+c[i];  //no dependency exists 
    } 

здесь, если я преобразовать эту петлю в 2 отдельных петель и запустить с помощью двух потоков. результат будет точным. но в случае, как приведено ниже

public void mymethod() { 
    { 
    //i have some global arrays named a, b 
    for(int i=0;i<10;i++) 
    a[i]=b[i]+a[i-1];   //a[i] dependent on a[i-1] 
    } 

следующее значение в [I], зависит от предыдущего значения а [I-1]. поэтому в цикле существует зависимость, и ее нельзя распараллелить, просто разделив цикл на два отдельных цикла.

поэтому мой вопрос;

Есть ли какой-либо класс JAVA/инструмент/пакет и т. Д. Для проверки такого типа зависимости в цикле?

ответ

0

Вы можете посмотреть JDepend или найти другие инструменты анализа кода java.

+0

согласно моей информации, JDepend - это поиск зависимостей класса. а не поиск зависимостей петли. –

Смежные вопросы