线程
程序(program):是完成特定任务、用某种语言编写的一组指令的集合,即指一段静态的代码,静态对象。
进程(process):是程序的一次执行过程,或是正在运行的一个程序。是一个动态过程
线程(thread):是一个程序内部的一条执行路径。
对比线程的两种创建方式:
开发中优先选择实现Runnable方式
原因:
1.实现的方式没有单继承的局限性
2.实现的方式适合处理多线程有共享数据的情况
相同点:两种方式都需要重写run(),将要执行的程序写在run()中
IDEA中对于Project和Module的理解:
Project是最顶级的结构单元,然后就是Module,一个Project可以有多个Module。
线程的声明周期
线程的同步
**·**多个线程执行的不确定性引起执行结果的不稳定
**·**多个线程对账本的共享,会造成操作的不完整性,会破坏数据
public void run() {
while (true){
if(ticket>0){
//若此时ticket=1,而线程a刚执行到此步,还未执行ticket--;线程b,c也进入。则会出现票号为0和-1的情况
System.out.println(Thread.currentThread().getName()+" 票号为:"+ticket);
//若线程a执行到此步,而线程b也进入,则会出现重票的情况
ticket--;
}else {
break;
}
}
}