并发多线程银行取钱案例深入剖析

本文深入剖析并发多线程在银行取款案例中的应用,强调理解线程间的协作与资源调度。通过分析操作对象类、线程类和客户端的角色,阐述如何确保线程安全并避免并发问题。同时,指出在处理多线程时,应关注线程间共享对象的同步控制,如使用`synchronized`关键字和等待唤醒机制。
摘要由CSDN通过智能技术生成

不要只读书 只看视频

看完再背着打代码也不行

在案例之前自己思考应该怎么打代码

取钱的案例学了N遍 但你自己打不出来

使用多线程会涉及三个角色

  • 操作对象类 (这个类中包含很多业务逻辑 线程类包装该类的方法进行操作
    所有的JUC 锁关键字都在这里使用 同一功能的线程共同操作该目标类的同一方法 你说是把关键字写操作对象里 还是写线程类里)
  • 线程类(包含run方法 线程业务所在 其中维护操作对象里类实例 这样保证所有线程在对同一个资源操作)
  • 客户端(生成多个线程实例调用run方法 并且多个线程维护一个操作对象 这样达到多个线程共享资源 才会有线程之间的调度控制 对象锁互斥等)
    线程类是包含业务run方法的类 线程是线程实例调用start的
 class  Data{
   
  public void read(){
   
     Lock.lock();
 }
 public synchronized void write(){
   
 }
}
class ReadThread implements Runnable{
   
 private Data data;
  ReadThread readThread(Data data){
   this.data=data;}
  public void run()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值