尚硅谷Java

线程

程序(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;
            }
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值