zoukankan      html  css  js  c++  java
  • Java基础--第二十四天

    day24:多线程   【等待唤醒机制】

             等待唤醒机制[Object]

                       wait():让线程处于等待状态

                       notify():唤醒等待线程

                                实现或者重写父类方法,出现父类中没有的异常时,子类只能try catch。

                      

                       wait():是Object类的方法,可以不用传参;释放锁对象

                       sleep():是Thread类的静态方法,需要传递参数;不释放锁对象

             线程优先级

                       getProirity():获取优先级,默认设置为5,范围是[1,10]

                       setProirity():设置优先级

                       注意:优先级在一定程度上,可以提高优先级;少量数据不明显

             线程拓展:

                       暂停线程:

                                public static void yeiod()

                                让线程更和谐,但是不能完全保证---【等待唤醒机制】

                       加入线程:

                                public final void join():

                                一旦有join()线程,其他线程必须先等待,直到该线程执行完

                                先启动要join的线程,再加入当前启动线程。

                       守护线程:

                                public final void setDaemon();

                                main()方法就是一个线程

                                设置线程为守护线程,一旦前台线程结束,守护线程结束

    网络编程:

             socket编程    

             网络概述

                       资源共享和信息传递--网络操作系统,网络管理软件,网络通信协议

                       网络模型:

                                OSI参考模型

                                         物理层--比特流,数据链路层--交换机,网络层--路由器,传输层--协议和端口

                                         会话层--会话,表示层--加密解密,压缩解压,应用层--应用软件

                                TCP/IP参考模型

                                         应用层,传输层,网际层,主机至网络层

                       网络通信三要素:

                                IP:

                                         “点分十进制”

                                         IP地址分类:【五类】

                                         IP地址 = 网络号码 + 主机地址

                                         查看本机IP:ipconfig--查看网络IP  ping---查看网络是否有问题

                                                   ping 127.0.0.1  测试本机网络环境

                                                   ping 192.168.x.x

                                端口号:

                                         逻辑端口

                                         A:每个网络程序都至少会有一个逻辑端口

                                         B:用于标示进程的逻辑地址,不同进程标示不一样;

                                         C:有效端口:0~65535,其中0~1024系统使用或保留端口。

                                        

                                UDP和TCP协议:【规则】

                                         UDP:

                                                   A:数据打包;

                                                   B:数据有限制;

                                                   C:面向无连接;

                                                   D:不可靠;

                                                   E:速度快

                                                                     QQ聊天室(群聊)

                                         TCP:

                                                   A:建立连接通道;

                                                   B:数据无限制;

                                                   C:面向连接(三次握手);

                                                   D:可靠;

                                                   E:速度慢

                                                            蓝牙,QQ单聊,打电话

                                                            【根据需求应用】

             Socket编程:【套接字编程,网络编程】

                       为网络编程提供一种机制,包装了端口和IP地址

                       特点:

                                两端都有Socket;

                                网络通信其实就是socket间的通信;

                                数据在两个Socket间通过IO流传输

                               

             InetAddress:

                       没有构造方法

                                A:成员都是静态

                                B:返回InetAddress实例对象

                       成员方法:

                                获取本地主机:getLocalHost

                                获取任意主机:getByName(String ip)

                                主机名:getHostName

                                主机Ip地址:getHostAddress

                       UDP协议下编程:

                                创建Socket服务对象;DatagramSocket

                                创建数据,并把数据打包;DatagramPacket

                                发送数据;

                                关闭资源

                                         注意:端口一定一致,

             聊天室

                       【应用程序:网络编程,IO,多线程】

    UDP

             1.将数据源和目的封装成数据包中;

             2.不需要建立连接;

             3.每个数据报的大小在限制在64k;

             4.因无连接,是不可靠协议;

             5.不需要建立连接,速度快。

    TCP

             1.建立连接,形成传输数据的通道;

           2.在连接中进行大数据量传输(数据无限制);

           3.通过三次握手完成连接;

             4.是可靠协议;

          5.必须建立连接,效率会稍低。

  • 相关阅读:
    C++学习网址
    python学习网址
    python之raw_input()函数
    APP营销模式
    计划任务
    多线程
    Spring Aware
    事件(Application Event)
    Spring 的AOP
    Java配置
  • 原文地址:https://www.cnblogs.com/zhidianhcuan/p/4430265.html
Copyright © 2011-2022 走看看