1.创建两个线程,在一个线程中打印输出1-100以内的偶数,在一个线程中输出1-100以内的奇数.
package com.ffyc.javaoop.day15.HM.Demo1;
//1.创建两个线程,在一个线程中打印输出1-100以内的偶数,在一个线程中输出1-100以内的奇数.
public class ThreadDemo implements Runnable{
@Override
public void run() {
for (int i = 0; i < 100; i++) {
if(i%2==0) {
System.out.println("偶数线程"+i);
}
}
}
}
package com.ffyc.javaoop.day15.HM.Demo1;
//1.创建两个线程,在一个线程中打印输出1-100以内的偶数,在一个线程中输出1-100以内的奇数.
public class Test {
public static void main(String[] args) {
ThreadDemo threadDemo = new ThreadDemo();
Thread thread = new Thread(threadDemo);
thread.start();
for (int i = 0; i < 100; i++) {
if(i%2==1) {
System.out.println("奇数线程"+i);
}
}
}
}
2.在单客户端与服务器聊天中引入线程,将发送消息和接收消息功能分别加入到线程中实现.
package com.ffyc.javaoop.day15.HM.Demo2;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Scanner;
/*
发送消息线程
*/
public class SendThread extends Thread{
private Socket socket;
private DataOutputStream out;
public SendThread(Socket socket) throws IOException {
this.socket = socket;
this.out = new DataOutputStream(socket.getOutputStream());
}
@Override
public void run() {
Scanner scanner = new Scanner(System.in);
while(true){
String s = scanner.next();
try {
if(socket.isClosed()||s.equals("886")){
break;
}
out.writeUTF(s);
} catch (IOException e) {
e.printStackTrace();
}
}
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.ffyc.javaoop.day15.HM.Demo2;
import java.io.DataInputStream;
import java.io.IOException;
import java.net.Socket;
//接收消息线程
public class ReceiveThread extends Thread{
private Socket socket;
private DataInputStream in;
public ReceiveThread(Socket socket) throws IOException {
this.socket = socket;
this.in = new DataInputStream(socket.getInputStream());
}
@Override
public void run() {
while(true){
try {
String s = this.in.readUTF();
System.out.println(s);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
package com.ffyc.javaoop.day15.HM.Demo2;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(9999);//分配端口
Socket socket = serverSocket.accept();//监听
new SendThread(socket).start();
new ReceiveThread(socket).start();
}
}
package com.ffyc.javaoop.day15.HM.Demo2;
import java.io.IOException;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1",9999);//分配端口
new SendThread(socket).start();//创建并启动发送线程
new ReceiveThread(socket).start();
}
}