//博主,太懒了,并没有提供范例程序
7、线程同步
(1)概念:线程同步要求同一时间,只能有一个线程访问该代码。
(2)实现方式:
<1>同步代码块:synchronized(同步对象){}
<2>同步方法:public synchronized 返回值类型 方法名(){}
8、线程通信:
(1)概念:指线程之间进行信息的交互
(2)常用方法:
<1>wait(): 将线程进入等待状态
<2>notify(): 唤醒因 wait()方法而暂停的线程,随机唤醒一个
<3>notifyAll(): 唤醒等待线程
注:三个方法要定义在同步方法或同步代码块中
1、网络命令:
(1)ipconfig 获取IP地址
(2)测试网络是否联通:ping ip地址
自己地址测试:ping 127.0.0.1
网络机测试: ping 对方IP地址
2、socket(“套接字”):用于进行数据的网络传输
工作原理:
发送方:<1>创建socket<2>将发送的数据给socket
接收方:<1>创建socket<2>随时等待接收数据
TCP:用来实现双向安全连接网络通信
3、实现步骤:
(1)客户端:
<1>创建socket对象,指定服务器地址和端口号
Socket s = new Scoket("服务器地址",端口号);
<2>通过socket获取输入输出流
OutputStream out= s.getOutputStream();
InputStream is = s.getInputStream();
<3>如果获取的是字符串,需要进行字符转换
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
<4>关流
逆序关闭
(2)服务器端:
<1>创建ServerSocket,只指定端口号
ServerSocket server= new ServerSocket(端口号);
<2>获取Socket,接收数据
Socket s = server.accept();
<3>获取输入输出流
<4>关闭流(逆序)
4、Socket传递对象
注意事项:
(1)创建的实体类要实现Serializable接口
(2)传递对象时使用的类不同
发送对象:
OutputStream os=socket.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
oos.writeObject(对象名);
接收对象
InputStream is=socket.getInputStream();
ObjectInputStream ois = new ObjectInputStream(is);
ois.readObject();//读取对象进行强转
(3)关流