笔记(二十)多线程与网络编程

进程至少有一个线程,主线程

进程:应用程序的执行实例,有独立的内存空间和系统资源。

线程:CPU调度和分配的基本单位,进程中执行运算的最小单位,真正在CPU上运行的是线程。

线程的创建和启动

在Java中创建线程(非主线程)的两种方式

1.继承java.lang.Thread类

2.实现java.lang.Runnale接口

使用线程的步骤:定义线程--创建线程--启动线程--终止线程(自动)

线程的状态

线程的生命周期:新生状态--可运行状态--阻塞状态--死亡状态

线程调度

多个线程处于可运行状态

优先级:反应线程的重要或紧急程度,线程的优先级用1-10表示,10的优先级最高,默认是5

更改优先级

setPriority(int grade)

myThread.setPriority(3);

线程调度的方法

join():将指定的线程加入到当前线程,当前线程阻塞,指定的线程运行完,当前线程继续运行。

sleep():将当前线程阻塞指定的毫秒数

......

网络相关的概念

IP地址(Internet Protocol):唯一标识网络上的每一台计算机

IP地址的组成:32位,由4个八位二进制数组成

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

网络地址:标识计算机或者网络设备所在的网段

主机地址:标识特定主机或者网络设备

IP地址的配置和检测

查看本机IP地址:ipconfig

测试网络是否通畅:ping目标IP地址

DNS域名解析

DNS:Domain Name System,域名系统

网络服务器

网络服务器通常指在网络环境下,具有较高计算能力,能够提供用户服务功能的计算机。

B/S 浏览器/服务器

C/S 客户端/服务器

网络通信协议

网络通信协议是为了在网络中不同的计算机之间进行通信而建立的规则,标准或者约定的集合

Socket简介

通信链路的端点就被称为套接字,socket是提供给应用程序的接口

Socket的底层机制复杂,Java平台提供了一些简单的API,可以高效简单的使用Socket开发而无需了解底层机制。

Socket分类

1.流式套接字(SOCK_STREAM)

面向连接、可靠的数据传输服务(TCP)

2.数据报式套接字(SOCK_DGRAM)

无连接服务(UDP)

3.原始套接字(SOCK_RAW)

Socket通信原理

http://java.net

Socket

ServerSocket

DatagramPacket

DatagramSocket

InetAddress

......

基于TCP协议的Socket编程

基于TCP协议的Socket网络通信,用来实现双向安全连接网络通信

Socket通信模型进行网络通信时,Socket需要借助数据流来完成数据的传输工作

如何获得客户端的IP?使用InetAddress

基于UDP协议的Socket编程

基于UDP协议的Socket编程

利用DatagramPacket对象封装数据包

利用DatagramSocket发送数据包

利用DatagramSocket接收数据包

利用DatagramPacket处理数据包

编辑于 2018-08-19

猜你喜欢

转载自blog.csdn.net/johnwillwin/article/details/89970990