多线程

1、创建多线程:

  • extends Thread
  • implements Runnable:Thread(Runnable target)

2、常用方法:

  • super(name)/setName(name):设置线程名称
  • Thread.currentThread():返回当前正在执行的线程对象
  • start():就绪状态,有执行的资格,没有执行权(只能调用一次)
  • join():线程加入,等待该线程终止再运行其他线程
    示例代码:

        tj1.start();
    try {
        tj1.join();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    
    tj2.start();
    tj3.start();
    
  • stop():中断线程
  • interrupt():中断线程
    区别:stop()方法执行后,该线程就停止了,不再继续执行了
    但是interrupt()方法执行后,它会终止线程的状态,还会继续执行run方法里面的代码
    比如:start()后立马跟stop(),一般run()里面的内容没有执行,但interrupt()还是会执行的

3、多线程安全问题:

问题的产生:每个线程的执行权都是有cpu分配的,不需要等待线程执行完才执行其他线程,这就会出现,前线程没执行完后面线程就执行了

解决方案用:synchronized

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值