socket之线程来提高吞吐量

线程demo:

线程:

package com.company.s5;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;

public class BeginThread extends Thread {
    private Socket socket;

    public BeginThread(Socket socket) {
        super();
        this.socket=socket;
    }

    @Override
    public void run() {
        try {
            InputStream inputStream=socket.getInputStream();
            InputStreamReader reader=new InputStreamReader(inputStream);
            char[] charArray=new char[1000];
            int readLength=-1;
            while ((readLength=reader.read(charArray))!=-1){
                String newstring=new String(charArray,0,readLength);
                System.out.println(newstring);
            }
            reader.close();
            inputStream.close();
            socket.close();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

服务端

package com.company.s5;

import java.net.ServerSocket;
import java.net.Socket;

public class BeginServer {
    public static void main(String[] args) throws Exception{
        ServerSocket serverSocket=new ServerSocket(8888);
        int runTag=1;
        while (runTag==1){
            Socket socket=serverSocket.accept();
            BeginThread beginThread=new BeginThread(socket);
            beginThread.start();
        }
        serverSocket.close();
    }
}

客户端:

package com.company.s5;

import java.io.OutputStream;
import java.net.Socket;

public class BeginClient {
    public static void main(String[] args) throws Exception{
        Socket socket=new Socket("localhost",8888);
        OutputStream outputStream=socket.getOutputStream();
        outputStream.write("我是中国人".getBytes());
        outputStream.close();
        socket.close();
    }
}

线程池demo:

待续,我要上班了。。。。

猜你喜欢

转载自www.cnblogs.com/guoyansi19900907/p/10982962.html