我们知道现在操作系统中是多线程并发执行,那么就会由此产生一系列线程的各种操作,我们下面就快速浏览下线程的各种基本操作;
1.线程创建
线程有多种创建方式,以下是推荐方式
Thread thread =new Thread(()->{
System.out.println("thread begin");
);
2.线程中断
我们可以使用Thread自带的标志位
Thread thread=new Thread(()->{
while (!Thread.currentThread().isInterrupted()){//静态方法,获取到当前线程的实例。
System.out.println("线程运行ing......");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
//e.printStackTrace();
// 1.立即退出
// break;
// 2.稍后退出
System.out.println("线程即将退出");
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
break;
}
}
System.out.println("线程已经退出");
});
thread.start();
Thread.sleep(5000);//sleep操作就是阻塞
System.out.println("控制新线程退出");
thread.interrupt();
3.线程等待(join)
线程之间的执行顺序是完全随机的,看系统的调度。但是我们可以通过join来控制两个线程的结束顺序
//main等待t2,t2等待t1
System.out.println("main begin");
Thread t1=new Thread(()->{
System.out.println("t1 begin");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("t1 end");
});
Thread t2=new Thread(()->{
System.out.println("t2 begin");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("t2 end");
});
t1.start();
t1.join();
t2.start();
t2.join();
System.out.println("main end");
4.线程休眠
Thread.slepp(1000); //单位为毫秒
5.获取线程实例
调用start