多线程的特性究竟如何构成一个长尾词的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计563个文字,预计阅读时间需要3分钟。
1. 原子性:一个操作或多个操作,必须全部执行成功,否则全部失败。例如,账户转账问题,A账户向B账户转100元,A账户减100元,B账户加100元,这两个操作必须同时成功,否则视为失败。
1.原子性: 一个操作或者多个操作,要么全部执行成功,要么全部执行失败。比如账户转账问题,a账户向b转100,a账户减去100元,b账户加上一百元,这两个操作必须具备原子性,1.原子性:
一个操作或者多个操作,要么全部执行成功,要么全部执行失败。比如账户转账问题,a账户向b转100,a账户减去100元,b账户加上一百元,这两个操作必须具备原子性,才能保证数据的安全,所以需要锁来保证数据的原子性
2.可见性:
当一个线程修改变量之后,其他线程能够立即看见修改到的值。比如有两个线程a,b,两个共有变量i,线程a修改了i的值,没有及时刷新到主存,线程b看到还是修改之前的值。这就是线程的可见性的问题。
3.有序性:
程序执行的顺序按照代码的先后顺序执行。一般来说处理器为了提高程序的执行效率,可能会对输入的代码进行优化,
它不保证程序中各个语句的执行先后顺序同代码中的顺序一致,但是它会保证程序最终执行结果和代码顺序执行的结果是一致的。
本文共计563个文字,预计阅读时间需要3分钟。
1. 原子性:一个操作或多个操作,必须全部执行成功,否则全部失败。例如,账户转账问题,A账户向B账户转100元,A账户减100元,B账户加100元,这两个操作必须同时成功,否则视为失败。
1.原子性: 一个操作或者多个操作,要么全部执行成功,要么全部执行失败。比如账户转账问题,a账户向b转100,a账户减去100元,b账户加上一百元,这两个操作必须具备原子性,1.原子性:
一个操作或者多个操作,要么全部执行成功,要么全部执行失败。比如账户转账问题,a账户向b转100,a账户减去100元,b账户加上一百元,这两个操作必须具备原子性,才能保证数据的安全,所以需要锁来保证数据的原子性
2.可见性:
当一个线程修改变量之后,其他线程能够立即看见修改到的值。比如有两个线程a,b,两个共有变量i,线程a修改了i的值,没有及时刷新到主存,线程b看到还是修改之前的值。这就是线程的可见性的问题。
3.有序性:
程序执行的顺序按照代码的先后顺序执行。一般来说处理器为了提高程序的执行效率,可能会对输入的代码进行优化,
它不保证程序中各个语句的执行先后顺序同代码中的顺序一致,但是它会保证程序最终执行结果和代码顺序执行的结果是一致的。

