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.必须建立连接,效率会稍低。