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

  • 相关阅读:
    UVa 1151 Buy or Build【最小生成树】
    UVa 216 Getting in Line【枚举排列】
    UVa 729 The Hamming Distance Problem【枚举排列】
    HDU 5214 Movie【贪心】
    HDU 5223 GCD
    POJ 1144 Network【割顶】
    UVa 11025 The broken pedometer【枚举子集】
    HDU 2515 Yanghee 的算术【找规律】
    Java基本语法
    Java环境变量,jdk和jre的区别,面向对象语言编程
  • 原文地址:https://www.cnblogs.com/letben/p/5185480.html
Copyright © 2011-2022 走看看