У меня есть класс Thread, который, как предполагается, читает текстовый файл и подсчитывает количество слов в текстовом файле. Вызов запуска нижеследовал:Поиск последнего активного потока для печати чего-то
/**
* Executes and counts # of words in textfile
*/
public void run()
{
lock.readLock().lock();
try
{
while(in.hasNext())
{
String tmp = in.next();
character ++;
totalCharacter++;
}
System.out.println(input + ": " + character);
/**
if(Thread.activeCount() == 0)
{
System.out.println("Total characters in all textfiles: " + totalCharacter);
}
*/
}
finally
{
lock.readLock().unlock();
}
}
Я не могу понять, как я могу найти последнее Running тему, так что я могу напечатать общее количество символов из каждого текстового файла, который называется. Я попытался сделать это с прокомментированным разделом Thread.activeCount() == 0, но это не сработало.
Любые советы о том, где и где можно найти последнюю текущую нить, чтобы распечатать общее количество слов во всех текстовых файлах?
Основная функция будет выглядеть следующим образом (я использую аргументы командной строки для ввода информации в):
public static void main(String[] args) throws FileNotFoundException, InterruptedException
{
for(int i = 0 ; i < args.length ; i++)
{
Thread2 wct = new Thread(args[i]);
wct.start();
}
}
ли не 'Thread.activeCount' должен быть 1, как текущий поток все еще работает? – KDM
Я играл с функцией activeCount, и ни 1, ни 0 не работает. – Shimy