38 lines
982 B
Java
38 lines
982 B
Java
package com.oracle.java8.professional.concurrency;
|
|
|
|
import java.util.concurrent.ThreadLocalRandom;
|
|
import java.util.logging.Level;
|
|
import java.util.logging.Logger;
|
|
|
|
public class Sender implements Runnable {
|
|
private Data data;
|
|
|
|
public Sender(Data data) {
|
|
this.data = data;
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
String packets[] = {
|
|
"First packet",
|
|
"Second packet",
|
|
"Third packet",
|
|
"Fourth packet",
|
|
"End"
|
|
};
|
|
|
|
for (String packet : packets) {
|
|
data.send(packet);
|
|
|
|
// Thread.sleep() to mimic heavy server-side processing
|
|
try {
|
|
Thread.sleep(ThreadLocalRandom.current().nextInt(1000, 5000));
|
|
} catch (InterruptedException e) {
|
|
Thread.currentThread().interrupt();
|
|
Logger.getAnonymousLogger().log(Level.SEVERE, "Interrupted error", e);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|