我在PHP的java多線程問題(同時運行時間)
在Java中套接字服務器和對方套接字客戶端我想通過多線程,但Java來處理來自PHP插座要求在Java在同一時間做一個接一個,等待完成第一個請求,並開始第二個,
這裏是我在Java代碼:
while (true) {
try {
clientSocket = serverSocket.accept();
int i = 0;
for (i = 0; i < maxClientsCount; i++) {
if (threads[i] == null) {
(threads[i] = new clientThread(clientSocket, threads)).start();
break;
}
}
if (i == maxClientsCount) {
PrintStream os = new PrintStream(clientSocket.getOutputStream());
os.println("Server too busy. Try later.");
os.close();
clientSocket.close();
}
} catch (IOException e) {
System.out.println(e);
}
}
class clientThread extends Thread {
public clientThread(Socket clientSocket, clientThread[] threads) {
this.clientSocket = clientSocket;
this.threads = threads;
maxClientsCount = threads.length;
}
public void run() {
int maxClientsCount = this.maxClientsCount;
clientThread[] threads = this.threads;
try {
in = new BufferedReader(new InputStreamReader(this.clientSocket.getInputStream()));
URL aURL = new URL(RecivedURL);
// start out put
System.out.println("host = " + aURL.getHost());
// end out put
的粗線比如我輸出的,但我要開始多輸出在同一時間同時開始請求。JAvA等待在o中完成請求新時間我的代碼..
首先,爲什麼不使用['ExecutorService'](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html)而不是自己奇怪的代碼?我懷疑你的工作不夠長,不足以讓事情同時發生。 –
您不應該擴展'Thread',只需實現'Runnable'並將其提供給正常的'Thread'類的構造函數。 –
粗線在哪裏?你如何向Java提出請求? – Alvin