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)关流

  • 相关阅读:
    sqlmap注入分类
    sqlmap简单中文说明
    【Python Learning第一篇】Linux命令学习及Vim命令的使用
    模拟退火算法从原理到实战【基础篇】
    平面上给定n条线段,找出一个点,使这个点到这n条线段的距离和最小。
    使用VMWareWorkstation10搭建学习环境笔记
    洛谷P1313 计算系数【快速幂+dp】
    浅析Numpy.genfromtxt及File I/O讲解
    持续交付中高效率与高质量
    持续集成CI与自动化测试
  • 原文地址:https://www.cnblogs.com/letben/p/5185480.html
Copyright © 2011-2022 走看看