Добрый вечер, я получил эти две программы здесьЗапуск программы Java с резьбой
httpServer.java
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.util.concurrent.atomic.AtomicInteger;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
public class httpServer extends Thread {
public static void main(String[] args) throws Exception {
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
server.createContext("/test", new MyHandler());
server.setExecutor(null); // creates a default executor
server.start();
}
static class MyHandler implements HttpHandler {
AtomicInteger atomicInteger = new AtomicInteger(0);
int theValue = atomicInteger.get();
@Override
public void handle(final HttpExchange t) throws IOException {
final String response;
final String requestMethod = t.getRequestMethod();
if ("GET".equals(requestMethod)) {
response = String.format("Besuche: %d%n", atomicInteger.addAndGet(1));
}
else if ("POST".equals(requestMethod)) {
atomicInteger.set(0);
response = "Reset to 0";
}
else {
throw new IOException("Unsupported method");
}
t.sendResponseHeaders(200, response.length());
final OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
}
Test.java
public class Test {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Теперь я хочу, чтобы Test.java начнет работать, когда я запустил httpServer.java. Я хочу достичь этого с помощью ниток. Я нашел это here онлайн, который expalins, как я делаю нить, но я не знаю, как заставить Test.java работать там.
Примечание: Я знаю, что могу писать как в одной программе, но я хочу знать, как работать с потоками для другого проекта, над которым я работаю.
Я не уверен, что вопрос ... вы могли бы быть более ясным? «Я хочу, чтобы Test.java начал работать, когда я запускаю httpServer.java» (sic) - что? Вы имеете в виду, что вы запускаете 'java httpServer' и какой бы код не использовался в тестовых прогонах? –
Да, точно, если httpServer запущен, код в Test также должен быть выполнен –
Затем просто вызовите 'Test.main (<необязательные параметры>);'. Хотя это не имеет ничего общего с нитями, и вы, скорее всего, неправильно поняли что-то. – Kayaman