售票
守护
class RunnableTest implements Runnable{
private int writ = 5;//票的总数(
//线程售票逻辑
public void run() {
while(writ > 0){
writ--;
System.out.println(Thread.currentThread().getName() + "卖出了一张去往北京的火车票;还剩余" + writ +"张");
}
}
}
public class TicketRunnable{
public static void main(String[] args) {
System.out.println("大厅开始售票");
RunnableTest ticket1 = new RunnableTest();
Thread t1 = new Thread(ticket1,"张三");
Thread t2 = new Thread(ticket1,"李四");
Thread t3 = new Thread(ticket1,"王五");
t1.start();
t2.start();
t3.start();
}
}
public class TicketThread extends Thread{
private int writ = 5;//票的总数(
//线程售票逻辑
public void run() {
while(writ > 0){
writ--;
System.out.println(Thread.currentThread().getName() + "卖出了一张去往北京的火车票;还剩余" + writ +"张");
}
}
public static void main(String[] args) {
System.out.println("大厅开始售票");
TicketThread ticket1 = new TicketThread();
Thread t1 = new Thread(ticket1,"张三");
Thread t2 = new Thread(ticket1,"李四");
Thread t3 = new Thread(ticket1,"王五");
t1.start();
t2.start();
t3.start();
}
}
守护
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Scanner;
//守护线程模拟实现
class DaemonThread implements Runnable{
@Override
public void run() {
System.out.println("进入守护线程"+Thread.currentThread().getName());
try {
writeToFile();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("退出守护线程"+Thread.currentThread().getName());
}
private void writeToFile() throws Exception{
File fileName = new File("c:\\a.txt");
OutputStream out = new FileOutputStream(fileName,true);
int count = 0;
while(count < 999){
out.write(("阿贵"+count).getBytes());
System.out.println("守护线程"+Thread.currentThread().getName()+"向文件中写入了word" + count++);
Thread.sleep(1000);
}
out.close();
}
}
public class shouhu {
public static void main(String[] args) {
System.out.println("程序进入了主线程"+Thread.currentThread());
DaemonThread daemonThread = new DaemonThread();
Thread t1 = new Thread(daemonThread);
t1.setDaemon(true);
t1.start();
Scanner sc = new Scanner(System.in);
sc.next();
System.out.println("程序退出了主线程"+Thread.currentThread());
}
}