• java 多线程使用方法及Socket的使用


    public class newThread implements Runnable{
        
        public void run(){
            dosome();
        }
        
        public void dosome(){
            System.out.println("ss");
        }
        
    }
    
    class testThread{
        public static void main(){
            Runnable ThreadTask = new newThread();
            Thread s = new Thread(ThreadTask);
            
            s.start();
            System.out.println("back in main");
        }
    }
    View Code

    去专门定义一个类调用Runnable接口,但因为该接口位于java.lang包,因此无需import。

    新建一个线程只需在位于主线程的main函数里声明一个Thread对象,形如:

    Thread aThread = new Thread(ThreadTask);

    这个ThreadTask为使用了Runnable接口的类,并且该接口中只存在一个run方法

    //补充网络联机部分:

    在服务器上写的服务器程序:

    ServerSocket serverSock = new ServerSocket(4242)//表示在服务器上使用4242这个端口来接收用户消息
    
    while(true){
    
      Socket sock = serverSock.accept();//如果服务器的4242端口收到了信息,则serverSock.accept()返回true,新建一个端口想客户端发送信息
    
      //如果4242没有收到信息则代码会停止在上一行
    
      PrintWriter writer = new PrintWriter(sock.getOutputStream());
    
      writer.println("sssss");
    
      writer.flush();//因为输出时,只有等到缓冲区满了才输出,有些时候输出的内容比较少的时候,没有充满缓冲区,不会立刻输出
    
    
    }
    View Code

    客户端向服务器发信息也是用PrintWriter

    客户端读取来自服务器的信息:

    Socket sock = new Socket("10.2.132.70",4242);//与服务器连接
    InputStreamReader streamReader = new InputStreamReader(socket.getInputStream());
    BufferedReader reader = new BufferedReader(streamReader);
    String advice = reader.readline();
    reader.close();
    View Code
  • 相关阅读:
    CAS实战の自定义注销
    CAS实战の自定义登录
    MongoDB学习总结
    Django登录使用的技术和组件
    Docker搭建Hadoop环境
    配置Nginx的坑及思路
    Centos7 升级 sqlite3
    Python基础题
    pandas的数据筛选之isin和str.contains函数
    CentOS7 下Docker最新入门教程 超级详细 (安装以及简单的使用)
  • 原文地址:https://www.cnblogs.com/gabygoole/p/4943744.html
Copyright © 2020-2023  润新知