线程安全是什么?
您的每一个用心回答,都会让这个世界变得更美好一些!
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。
线程安全,举个例子,火车票的网上购票,如果两个人同时购买一张票,假设原有票数是12,两个人同时购买,A购买的时候,票数应该是12-1=11,但是在A购买的时候B也读了原有票数,并且买了一张,修改数量为11,这时A的操作结束,对票数赋值为11,但是售出了两张票
这就是线程安全的问题,两个线程访问相同资源的时序问题,要求A访问的时候B不能访问,因为如果B访问,而A还未操作完毕,B读取的数据不是正确数据,这就要求必须对资源上锁,即限制同时访问资源的数量。
线程安全是多线程编程时的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。
线程安全,举个例子,火车票的网上购票,如果两个人同时购买一张票,假设原有票数是12,两个人同时购买,A购买的时候,票数应该是12-1=11,但是在A购买的时候B也读了原有票数,并且买了一张,修改数量为11,这时A的操作结束,对票数赋值为11,但是售出了两张票
这就是线程安全的问题,两个线程访问相同资源的时序问题,要求A访问的时候B不能访问,因为如果B访问,而A还未操作完毕,B读取的数据不是正确数据,这就要求必须对资源上锁,即限制同时访问资源的数量。
线程安全是多线程编程时的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。