java理论之java多线程与网络编程

多线程

  一 :多线程的基本概念:

      1:线程是一个程序的不同的执行路径

      2:进程---内存区代码去的可执行代码,main方法,主线程,真正执行的方式和代码

  二:创建/启动新的线程:

      1:创建---创建新线程只有一种方法:实现Runnable中的run()是创建新线程,唯一方法

           (1)创建一个类,继承java.lang.Thread类:class ExThr extends Thread{}

           (2)创建一个普通类,实现Runable()接口:class ImpRun implements Runnable{}

      2:启动---启动新线程只有一种方法:调用Thread类中的start()方法,是启动新线程的唯一方法,在主线程中启动别的线程:就是在main中创建我们线程的对象

           (1)在主线程中,创建一个目标线程类对象,这个目标线程类已经是Thread,就不用在创建Thread对象,直接调用start()方法即可

           (2)在主线程,创建Thread类的对象,创建目标线程类对象,并传入Thread对象中,创建一个新线程,调用Thread对象的start()方法,这才是启动一个新线程

           我们需要注意的是:方法调用,启动线程的区别,只有thread的start()方法开会调用操作系统api创建新线程

  三:状态控制:

    1:状态转换:

        (1):创建

        (2):start:排队

        (3):就绪,调度

        (4):阻塞

        (5):运行

        (6):终止

    2:线程控制方法:

        (1):isAlive():判断线程是否还活着

        (2):getPriority():活得线程优先级

        (3):setPriority()

        (4):sleep():设置线程睡眠毫秒数,静态方法

        (5):join():调用某个线程该方法,和当前线程合并,即这个执行指向完毕在执行当前线程

        (6):yield():让出CPU时间片,进入再次等待

        (7):wait()

        (8):notify()

        (9):notifuAll

    3:结束某个线程

        (1):interrupt:打断关闭某线程

        (2):定义一个boolean循环标志符,为假的是偶,run()停止,线程结束

 

---------------------------

 

网络编程

  一:网络编程基础,网络通信协议:

    1:OSI七层模型:

        (1):应用层

        (2):表示层

        (3):回话层

        (4):传输层

        (5):网络层(IP)

        (6):数据传输层(MAC)

        (7):物理层

     2:TIP/IP四层模型:

        (1):应用层(应用程序)

        (2):传输层(TCP/UDP)

        (3):网络层(IP层)

        (4):物理/数据链路层

  二:Socket(网络编程)---操作系统的网络编程都叫这个

             ---两个链路的一端叫socket

             ---Socket(网络编程)在java.net包

             ---TCP Scoket 通信模型

             ---UDP Socket通信模型

       

 

你可能感兴趣的:(java多线程)