проверить конец выполнения класса в Java - PullRequest
0 голосов
/ 17 мая 2011

Я написал небольшую программу для проверки 3 файлов данных и их преобразования в файл CSV.

-Каждый файл преобразуется в файл другого класса

-Есть основной класскоторый создает все остальные классы для обработки файлов один за другим

Как мне убедиться, что следующий файл обрабатывается только после того, как предыдущий файл сделан?

Псевдокод моей программыследует

mainExecute Class()
{
    executeFile1converter();
    executeFile2Converter();
    executeFile3Converter();
}

Ответы [ 5 ]

2 голосов
/ 17 мая 2011

Если его однопоточность и исключение / ошибка не возникли, то это гарантирует, что поведение

1 голос
/ 17 мая 2011

Выполнение кода является линейным, если вы сами не вводите параллелизм. Так что достаточно просто называть вещи один за другим.

Если, конечно, вы не обращаетесь к библиотекам, которые обрабатывают данные асинхронно, но тогда у них должны быть API, которые сообщат вам, когда они закончат.

0 голосов
/ 18 мая 2011

Если методы executeFileXConverter () создают новые процессы, извлечения кода возврата для подпроцесса достаточно, чтобы убедиться, что он завершен, прежде чем продолжить, поскольку код возврата недоступен, пока подпроцесс не завершит его возврат.

0 голосов
/ 17 мая 2011

Пока разные файлы классов не запускают потоки для выполнения работы, вам не нужно оба. Последовательная работа по умолчанию.

0 голосов
/ 17 мая 2011

Они будут выполняться в указанном порядке по определению .Одна строка должна завершиться до того, как начнется следующая.Похоже, вы говорите об одновременном выполнении, но для этого нужны дополнительные явные определения - т.е. executeFile1converter порождает поток.Тогда вам понадобится событие, которое будет запущено, когда оно завершится.

...