58569
|
1 |
package jdk.jfr.api.consumer.recordingstream;
|
|
2 |
|
|
3 |
import jdk.jfr.api.consumer.recordingstream.TestStart.StartEvent;
|
|
4 |
|
|
5 |
class EventProducer extends Thread {
|
|
6 |
private final Object lock = new Object();
|
|
7 |
private boolean killed = false;
|
|
8 |
public void run() {
|
|
9 |
while (true) {
|
|
10 |
StartEvent s = new StartEvent();
|
|
11 |
s.commit();
|
|
12 |
synchronized (lock) {
|
|
13 |
try {
|
|
14 |
lock.wait(10);
|
|
15 |
if (killed) {
|
|
16 |
return; // end thread
|
|
17 |
}
|
|
18 |
} catch (InterruptedException e) {
|
|
19 |
// ignore
|
|
20 |
}
|
|
21 |
}
|
|
22 |
}
|
|
23 |
}
|
|
24 |
public void kill() {
|
|
25 |
synchronized (lock) {
|
|
26 |
this.killed = true;
|
|
27 |
lock.notifyAll();
|
|
28 |
try {
|
|
29 |
join();
|
|
30 |
} catch (InterruptedException e) {
|
|
31 |
}
|
|
32 |
}
|
|
33 |
}
|
|
34 |
} |