zoukankan      html  css  js  c++  java
  • 线程同步、网络部分

    //博主,太懒了,并没有提供范例程序

     

    7、线程同步

    (1)概念:线程同步要求同一时间,只能有一个线程访问该代码。

    (2)实现方式:

    <1>同步代码块:synchronized(同步对象){}

    <2>同步方法:public synchronized 返回值类型 方法名(){}

    8、线程通信:

    (1)概念:指线程之间进行信息的交互

    (2)常用方法:

    <1>wait(): 将线程进入等待状态

    <2>notify(): 唤醒因 wait()方法而暂停的线程,随机唤醒一个

    <3>notifyAll(): 唤醒等待线程

    注:三个方法要定义在同步方法或同步代码块中

     

    1、网络命令:

    1ipconfig 获取IP地址

    2)测试网络是否联通:ping ip地址

    自己地址测试:ping 127.0.0.1

    网络机测试: ping 对方IP地址

    2、socket(“套接字”):用于进行数据的网络传输

    工作原理:

    发送方:<1>创建socket<2>将发送的数据给socket

    接收方:<1>创建socket<2>随时等待接收数据

    TCP:用来实现双向安全连接网络通信

    3、实现步骤:

    (1)客户端:

    <1>创建socket对象,指定服务器地址和端口号

    Socket s = new Scoket("服务器地址",端口号);

    <2>通过socket获取输入输出流

    OutputStream out= s.getOutputStream();

    InputStream is = s.getInputStream();

    <3>如果获取的是字符串,需要进行字符转换

    InputStreamReader isr = new InputStreamReader(is);

    BufferedReader br = new BufferedReader(isr);

    <4>关流

    逆序关闭

    (2)服务器端:

    <1>创建ServerSocket,只指定端口号

    ServerSocket server= new ServerSocket(端口号);

    <2>获取Socket,接收数据

    Socket s = server.accept();

    <3>获取输入输出流

    <4>关闭流(逆序)

     

    4、Socket传递对象

    注意事项:

    (1)创建的实体类要实现Serializable接口

    (2)传递对象时使用的类不同

    发送对象:

    OutputStream os=socket.getOutputStream();

    ObjectOutputStream oos = new ObjectOutputStream(os);

    oos.writeObject(对象名);

    接收对象

    InputStream is=socket.getInputStream();

    ObjectInputStream ois = new ObjectInputStream(is);

    ois.readObject();//读取对象进行强转

    3)关流

  • 相关阅读:
    List 集合的常用方法总结
    springboot 整合 web 项目找不到 jsp 文件
    Web 安全
    微服务开放平台接口设计
    SpringCloud Hystrix 参数
    SpringCloud Eureka 配置
    ELK 日志收集系统
    网盘搜索引擎原理
    jsPlumb.jsAPI阅读笔记(官方文档翻译)
    ionic获取ios唯一设备id的解决方案
  • 原文地址:https://www.cnblogs.com/letben/p/5185480.html
Copyright © 2011-2022 走看看