异步:执行时互不影响,执行时没有先后顺序
同步:执行时有一定的次序关系
什么条件下用同步?
比如向银行ATM取钱时,客户端同时有两个线程向服务器发起取钱请求,第一个线程读出还有2000,取走了1000,将数据更改为余额还有一千;第二个线程,在第一个线程取钱前也读到还有2000,取走1000后,仍然将数据改成1000,这就造成了数据的不一致性。
同步的前提条件:
1.有多个线程
2.需要访问数据
3.涉及对数据的修改工作
异步:执行时互不影响,执行时没有先后顺序
同步:执行时有一定的次序关系
什么条件下用同步?
比如向银行ATM取钱时,客户端同时有两个线程向服务器发起取钱请求,第一个线程读出还有2000,取走了1000,将数据更改为余额还有一千;第二个线程,在第一个线程取钱前也读到还有2000,取走1000后,仍然将数据改成1000,这就造成了数据的不一致性。
同步的前提条件:
1.有多个线程
2.需要访问数据
3.涉及对数据的修改工作