1、线程安全问题
每个线程都有自己的栈,而局部变量是存储在栈中的,这就意味着每个线程都有一份自己的“局部变量”,如果线程仅仅使用"局部变量"那么就不存在线程安全问题。
那如果多个线程共用一个全局变量呢?
比如看如下代码:
·
运行结果:
2、临界区实现之线程锁
运行结果:
临界区的代码在同一时刻是只允许一个线程执行的,这样的话就不会出现问题了
这样的话就不会出现问题了
每个线程都有自己的栈,而局部变量是存储在栈中的,这就意味着每个线程都有一份自己的“局部变量”,如果线程仅仅使用"局部变量"那么就不存在线程安全问题。
那如果多个线程共用一个全局变量呢?
比如看如下代码:
·
运行结果:
运行结果:
临界区的代码在同一时刻是只允许一个线程执行的,这样的话就不会出现问题了
这样的话就不会出现问题了
相关文章: