Я знаю некоторые основные понятия в java-многопоточном режиме. Но теперь я хочу создать 5 потоков, которые должны работать одновременно. Как я могу получить время выполнения потока? ... Кто-нибудь, пожалуйста, помогите мне с глубоким концепции потоков, включая методы и цели.Основные понятия java многопоточности
ответ
Ваш вопрос действительно неясен. Что вы подразумеваете под временем выполнения потока? Когда это началось против того, когда оно остановилось (время на стене). Или сколько времени оно выполнялось, не включая время, которое было приостановлено (т. Е. Время процессора)?
Посмотрите на Monitor cpu usage per thread in java?
BTW, Threading не то, что вы можете просто узнать из ответа StackOverflow.
Официальный путеводитель по Java объясняет параллелизм достаточно хорошо: http://docs.oracle.com/javase/tutorial/essential/concurrency/
Книга «Java Параллелизм на практике», даже лучше.
простите за мой неоригинальный. Я до сих пор не понимаю, как мы можем получить фактическое время выполнения потока ?. – TheLostMind
Вы можете использовать методы
ThreadMXBean интерфейс
вы можете получить экземпляр с помощью
ManagementFactory.getThreadMXBean();
после этого вы можете вызвать метод
getThreadCpuTime (Thread.currentThread(). GetId());
так что ваш код будет выглядеть
ManagementFactory.getThreadMXBean.getThreadCpuTime(Thread.currentThread().getId());
подробнее см Docs
сделать прокси-сервер
class Proxy implements Runnable {
final Runnable target;
Proxy(Runnable target) {
this.target = target;
}
public void run() {
long t0 = System.currentTimeMillis();
try {
target.run();
} finally {
System.out.println(Thread.currentThread() + " execution time = " + (System.currentTimeMillis() - t0));
}
}
}
и использовать его
new Thread(new Proxy(task)).start();
Что-то вроде этого кода может быть полезно http://blog.sheidaei.com/2013/06/simple-thread-example-in-java.html.
Вы можете использовать System.currentTimeMillis() вместо System.out.println(), чтобы получить время выполнения потоков.
/**
* Created with IntelliJ IDEA.
* User: shahin
* Date: 6/5/13
* Time: 11:32 PM
* To change this template use File | Settings | File Templates.
*/
public class SimpleThread implements Runnable{
public SimpleThread(String simpleName) {
this.simpleName = simpleName;
System.out.println(">>> Constructor for " + getSimpleName());
}
public String getSimpleName() {
return simpleName;
}
public void setSimpleName(String simpleName) {
this.simpleName = simpleName;
}
private String simpleName;
@Override
public void run() {
System.out.println(" >> "+getSimpleName() + " started.");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
System.out.println(" >> "+getSimpleName() + " stopped.");
}
public static void main(String args[])
{
System.out.println("Main Thread started.");
SimpleWaitNotifyThread simpleThread;
Thread thread;
for(int i=0;i<5;i++)
{
simpleThread = new SimpleWaitNotifyThread("Thread "+(i+1));
thread = new Thread(simpleThread,"Thread "+(i+1));
thread.start();
}
System.out.println("Main Thread finished.");
}
}
- 1. Основные понятия Java Java Основные понятия
- 2. Java понятия многопоточности в семафоров
- 3. Основные понятия массива
- 4. Основные понятия CCArray
- 5. Распределенный кеш - основные понятия
- 6. Основные понятия ANTLR
- 7. Основные понятия в MVC
- 8. Основные понятия хэширования векторов
- 9. Основные понятия Хеширования
- 10. Основные понятия объектива-C
- 11. Основные данные многопоточности
- 12. Основные понятия базовой архитектуры архитектуры
- 13. Основные данные многопоточности с использованием
- 14. Где я могу получить основные понятия java beans?
- 15. Каковы основные понятия в Nokia Qt?
- 16. Как работает приравнивание списков? -основные понятия mutable
- 17. Некоторые основные C++ понятия - инициализация и присваивание
- 18. Основные понятия в реализации файловой системы
- 19. Redis основные понятия чтения и записи
- 20. Основные понятия цифровой/электронной подписи и пример
- 21. Основные понятия не определены - ошибка JavaScript
- 22. Основные понятия ADT для реализации хэш-таблицы
- 23. Основные понятия: алгоритм Наивного Байеса для классификации
- 24. Каковы основные понятия в структуре laravel?
- 25. Основные понятия PHP (получение/объявление переменных массива)
- 26. Основные понятия JDBC, Объединение и Threading
- 27. Выполнение задачи многопоточности java многопоточности
- 28. Аннотация понятия в Java
- 29. Основные данные о нарушениях в обработке многопоточности
- 30. Основные данные многопоточности и вложенные контексты
вопрос непонятен – ankit