多线程
一 :多线程的基本概念:
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通信模型