第十六周周总结 线程

程序
可以理解为一组静态的代码
进程
正在进行的程序 静态的代码 运行起来
线程
正在执行程序中的小单元

1.主线程 系统线程
2.用户线程 main
3.守护线程(精灵) GC

线程------操作系统级别 CPU
如何在Java中创建线程 让线程执行 多线程
掌握每一个线程的几种不同状态 及状态之间如何切换
new start() cpu分配run() wait() exception over
创建线程----就绪状态-----执行状态-----等待/挂起------异常/死亡
| |
|________________________|
notify/notifyAll
实现线程的一种过程
1.自己描述一个类
2.继承父类Thread
3.重写run方法
4.new一个线程对象 调用start()方法 让线程进入就绪状态

实现线程的另一个过程
1.自己描述一个类
2.实现一个父类接口
3.重写run方法
4.new一个线程对象
在runnable实现线程的过程中如果先要调用Thread中的start方法
1.创建一个Thread对象 Thread t1 = new Thread(r1);
2.t1.start();

public class 售票口 extends Thread {
	private int ticket=10;
	private boolean flag=true;
	public void run() {              //重写run()方法
		 while(flag) {
             try {
                 Thread.sleep(50);   //让当前线程休眠0.05秒
             }catch(Exception e) {
                 e.printStackTrace();//异常时打印异常信息在程序中出错的位置及原因
             }
            sale();
	}
}
	public synchronized void sale() {
		if(ticket>0)
	     System.out.println(Thread.currentThread().getName()+"ticket="+ticket--);//Thread.currentThread()返回当前线程变量,又启动一个新的线程
	}
} 



public class 售票口显示 {
	public static void main(String[] args) {
	售票口 m=new 售票口();
    for(char i='A';i<='C';i++) {
    new Thread(m,"窗口"+i+"售票,").start();//Thread(m,"窗口"+i+"售票,") 第一个参数是thread2线程可以映射的线程,后面的String是新线程的名称。
}
    }
}
posted @ 2019-12-14 15:06  可惜她是水瓶座  阅读(117)  评论(0)    收藏  举报