1.Mouse
Package Com.yfs.javase;public class Mouse {private int index = 1;private Boolean islive = false;//Bounce method sync lock public synch ronized void Jump () {while (true) {if (!islive) {System.out.println ("Step out" + Index + "vole");//Modify the vole state islive = true;//notify the thread of the hit/ /notify ();} else {//When the front thread waits for//try {//wait ();/} catch (Interruptedexception e) {//e.printstacktrace ();//}}}}public synchronized void Hit () {while (true) {if (islive) {System.out.println ("knocked out" + index + "voles"); Index ++;islive = false;//notify ();//Notifies the mouse to put the thread of the voles} else {//try {////wait ();/} catch (Interruptedexception e) {// E.printstacktrace ();/}}}}}
2.Producer
Package Com.yfs.javase;public class Producer extends Thread {private Mouse mouse;public Producer (Mouse Mouse) { This.mouse = mouse;} @Overridepublic void Run () {mouse.jump ();}}
3.Customer
Package Com.yfs.javase;public class Customer extends Thread {private Mouse mouse;public customer (Mouse Mouse) {This.mouse = mouse;} @Overridepublic void Run () {mouse.hit ();}}
4.MouseTest
Package Com.yfs.javase;public class Mousetest {public static void main (string[] args) {Mouse Mouse = new Mouse (); New Produ CER (mouse). Start (); new Customer (mouse). Start ();}}
5.Ticket
Package Com.yfs.javase;public class Ticket implements Runnable {private int index = 100;//shared resource//lock mechanism @overridepublic void RU N () {while (Index > 0) {synchronized (this) {///sync lock Current object try {Thread.Sleep (3)} catch (Interruptedexception e) {E.pri Ntstacktrace ();} if (index <= 0) {break;} System.out.println (Thread.CurrentThread (). GetName () + " first " + index + " ticket sold"); index--;}}}
6.TicketTest
Package Com.yfs.javase;public class Tickettest {public static void main (string[] args) {Ticket tickets = new Ticket (); new Thread (tickets, "number 1th"). Start (); New Thread (tickets, "2nd"). Start (); New Thread (Tickets, "3rd"). Start (); New Thread (tickets , "number 4th"). Start ();}}
7.IP Address/Host name
Package Com.yfs.javase.net;import Java.net.inetaddress;public class Addressdemo {/** * @param args */public static void Ma In (string[] args) throws Exception {inetaddress add1 = Inetaddress.getlocalhost (); System.out.println ("IP Address:" + add1.gethostaddress ()); SYSTEM.OUT.PRINTLN ("Host name:" + add1.gethostname ()), inetaddress add2 = Inetaddress.getbyname ("www.baidu.com"); System.out.println ("IP Address:" + add2.gethostaddress ()); SYSTEM.OUT.PRINTLN ("Host name:" + add2.gethostname ());}}
8.server1
Package Com.yfs.javase.net;import Java.io.outputstream;import Java.net.serversocket;import java.net.Socket;public Class Server1 {/** * Boot service listener port */public static void Main (string[] args) throws Exception {ServerSocket Server = new server Socket (3000);//Start System.out.println ("Server boot, monitor 3000 port ..."); Socket socket = server.accept ();//Listen for additional host connections String other = Socket.getinetaddress (). gethostaddress (); System.out.println (Other + "request connection ...");//send information to get output stream OutputStream out = Socket.getoutputstream (); Out.write (' a '); O Ut.flush ();//Refresh Out.close (); SYSTEM.OUT.PRINTLN ("Send Message Complete");}}
9.client1
Package com.yfs.javase.net;
Import Java.io.InputStream;
Import Java.net.Socket;
public class Client1 {
/**
* @param args
*/
public static void Main (string[] args) throws Exception {
Socket socket = new Socket ("192.168.1.30", 3000);
Receive information
InputStream in = Socket.getinputstream ();
int val = In.read ();
System.out.println ("val =" + (char) val);
In.close ();
}
}
10.server2
Package Com.yfs.javase.net;import Java.io.bufferedoutputstream;import Java.io.outputstream;import Java.io.outputstreamwriter;import Java.io.printwriter;import Java.net.serversocket;import Java.net.Socket;public Class Server2 {/** * Boot service listener port */public static void Main (string[] args) throws Exception {ServerSocket Server = new server Socket (3000);//Start System.out.println ("Server boot, monitor 3000 port ..."); Socket socket = server.accept ();//Listen for additional host connections String other = Socket.getinetaddress (). gethostaddress (); System.out.println (Other + "request connection ...");//send information to get output stream OutputStream out = Socket.getoutputstream (); Bufferedoutputstream buf = new Bufferedoutputstream (out); PrintWriter pw = new PrintWriter (new OutputStreamWriter (BUF)); Pw.println ("Hello, boys and girls! This is the information sent by the server .... "); Pw.close (); Buf.close (); Out.close (); SYSTEM.OUT.PRINTLN ("Send Message Complete");}}
11.client2
Package Com.yfs.javase.net;import Java.io.bufferedinputstream;import Java.io.bufferedreader;import Java.io.inputstream;import Java.io.inputstreamreader;import Java.net.socket;public class Client2 {/** * @param args */ public static void Main (string[] args) throws Exception {socket socket = new Socket ("192.168.1.30", 3000);//Receive Information Inputstrea M in = Socket.getinputstream (); BufferedReader read = new BufferedReader (new InputStreamReader (in)); String msg = Read.readline (); SYSTEM.OUT.PRINTLN ("server says:" + msg); Read.close (); In.close ();}}
12.server3
Package Com.yfs.javase.net;import Java.io.bufferedoutputstream;import Java.io.outputstream;import Java.io.outputstreamwriter;import Java.io.printwriter;import Java.net.serversocket;import Java.net.Socket;import Java.util.scanner;public class Server3 {/** * Boot service listener port */public static void Main (string[] args) throws Exception {ServerS Ocket Server = new ServerSocket (3000);//Start System.out.println ("Server boot, listen 3000 ports ..."); Socket socket = server.accept ();//Listen for additional host connections String other = Socket.getinetaddress (). gethostaddress (); System.out.println (Other + "request connection ...");//send information to get output stream outputstream out = Socket.getoutputstream (); Bufferedoutputstream buf = new Bufferedoutputstream (out); PrintWriter pw = new PrintWriter (new OutputStreamWriter (BUF)); Pw.println ("Hello, boys and girls! This is the information sent by the server .... "); Pw.flush (); Scanner scan = new Scanner (system.in); String msg = NULL; int i = 1; while (I <) {msg = Scan.next (); PW.PRINTLN (msg); Pw.flush (); i++; } pw.close (); Buf.close (); OUt.close (); SYSTEM.OUT.PRINTLN ("Send Message Complete");}}
13.client3
Package Com.yfs.javase.net;import Java.io.bufferedinputstream;import Java.io.bufferedreader;import Java.io.inputstream;import Java.io.inputstreamreader;import Java.net.socket;public class Client3 {/** * @param args */ public static void Main (string[] args) throws Exception {socket socket = new Socket ("192.168.1.30", 3000);//Receive Information Inputstrea M in = Socket.getinputstream (); BufferedReader read = new BufferedReader (new InputStreamReader (in)); String msg = Read.readline (); SYSTEM.OUT.PRINTLN ("server says:" + msg); int i = 1;while (i <) {msg = Read.readline (); SYSTEM.OUT.PRINTLN ("server says:" + msg); i++;} Read.close (); In.close ();}}
Java Novice Notes 33 multi-threaded, client, server