JAVA线程 学习汇总

本文介绍了Java中实现多线程的两种方式:继承Thread类与实现Runnable接口,并探讨了这两种方式的区别,特别是在对象锁共享方面的考量。此外,还详细解释了synchronized关键字的使用方法及其在确保线程同步中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      学习JAVA快俩年了,这几天把线程方面的知识过了一遍,顺便记录下,以便日后查询。

 

      JAVA里的多线程的实现方式有俩种,分别是继承Thread和实现Runable ,具体实现网上资料很多,这里也不错说。

 

以前在学习线程的时候没学好,没理解俩者的区别

  

方式二,在俩个线程实例内部维护的object是同一份,而方式一在俩个线程实例内部维护的object却是俩份不同的对象实例。

因此在线程同步时就需要注意,对象锁是否是共享的。

  如果采用方式一来创建线程。那么他们使用对象锁来达到同步,需要通过使用类锁实现同步。

 

同步关键字synchronized 

    

    可以在方法前修饰。例如 synchronized  void method()  等同于synchronized (this){}

       该方式是对所有具有synchronized  修饰的方法进行同步,灵活性不高。

    也可同步局部代码块    synchronized (object){}  ,灵活性较高。

 

 

   

  

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值