请问有大神讲讲多线程嘛 比如说同步,死锁啊,刚学不太理解,大神们随便讲一点撒,小老弟先谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 举个很简单的例子,银行的例子银行卡有5000元,A和B两人同时从这个账户取钱,两人同时查询到的余额都是5000;A取了2000,正常情况余额只剩3000, 但是B当时取得时候查询的余额也是5000.所以B取1000,余额就变成4000,这就是所谓的异步同步就是,A取2000的时候,B虽然查询余额也是5000,但是B取钱的时候发现A已经在操作了,就停下来等A操作完在进行操作,就是5000-2000-1000,余额剩余2000,同步机制就是靠锁来实现的,简单的有synchronized死锁:两个字符串a和b,再创建两个线程A和B,让每个线程都用synchronized锁住字符串(A先锁a,再去锁b;B先锁b,再锁a),如果A锁住a,B锁住b,A就没办法锁住b,B也没办法锁住a,因为它们都在等待对方先释放锁,这时就陷入了死锁。 我也是新手,讲讲自己的理解,线程就是抢资源,A和B两个线程要钓鱼就要鱼竿和鱼饵,A抢到了鱼竿,B抢到了鱼饵,都在等着对方释放所拥有的资源,就会形成死锁。 经典书籍,有推荐没呢推荐JCIP, JAVA多线程编程核心技术, 以及oracle官文 静态方法,静态块可以继承的吗? JAVA初级的线程问题。 关于JButton的问题 大家看一下,这个替换字符串的方法,与JDK的replaceAll()哪一个更好? 关于JTable用线程刷新的问题 问题:100分!急急急 applet可以实现c/s吗? 程序哪里错了? java中有没有这样一个方法,就是当我的TEXTAREA的内容发生改变时触发一个事件 数据库连接问题 泛型小疑问 大神帮帮忙 解决不了
银行卡有5000元,A和B两人同时从这个账户取钱,两人同时查询到的余额都是5000;
A取了2000,正常情况余额只剩3000, 但是B当时取得时候查询的余额也是5000.所以B取1000,余额就变成4000,这就是所谓的异步
同步就是,A取2000的时候,B虽然查询余额也是5000,但是B取钱的时候发现A已经在操作了,就停下来等A操作完在进行操作,就是5000-2000-1000,余额剩余2000,
同步机制就是靠锁来实现的,简单的有synchronized死锁:
两个字符串a和b,再创建两个线程A和B,让每个线程都用synchronized锁住字符串(A先锁a,再去锁b;B先锁b,再锁a),如果A锁住a,B锁住b,A就没办法锁住b,B也没办法锁住a,因为它们都在等待对方先释放锁,这时就陷入了死锁。