Monitoring Threads

There are two ways to monitor threads, programmatically and using the external tools. We have already seen how the result of a worker calculation could be checked. Let's revisit that code. We will also slightly modify our worker implementation:

class MyRunnable03 implements Runnable { private String name; private double result; public String getName(){ return this.name; } public double getResult() { return this.result; } public void run() { this.name = Thread.currentThread().getName(); double result = IntStream.rangeClosed(1, 100) .flatMap(i -> IntStream.rangeClosed(1, 99999)) .takeWhile(i -> !Thread.currentThread().isInterrupted()) .asDoubleStream().map(Math::sqrt).average().getAsDouble(); if(!Thread.currentThread().isInterrupted()){ ...

Get Java: High-Performance Apps with Java 9 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.