在多线程中为什么使用全局变量不能传传递自定义
答案:2 悬赏:80 手机版
解决时间 2021-01-04 22:18
- 提问者网友:容嬷嬷拿针来
- 2021-01-03 22:21
在多线程中为什么使用全局变量不能传传递自定义
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-01-10 06:00
多线程,用全局变量容易出问题。。。容易出现两个线程同时获取同一个变量,然后做相同的操作,最后听谁的的问题
全部回答
- 1楼网友:廢物販賣機
- 2021-01-10 07:23
具体参考 哲学家就餐、临界资源、生产者消费者问题
你都说是多线程,用全局变量容易出问题。。。容易出现两个线程同时获取同一个变量,然后做相同的操作,最后听谁的的问题
比方说你的网购账号,提款的同时有人从另外一个地方网购
账号有1000,你提款100的一刹那,有人也买100的东西
如果大家同时访问而没有做处理,大家都拿到1000这个数值,假设你提款的速度比较快,1000-100=900,最后写入账号是900,网购那边慢了一拍,但是他是在1000余额的这个基础上网购,扣除货物价值100,最后得出900的余额写入银号账号,最后虽然实际上花了200,但是余额还是900,银行岂不是亏大了?
因此必须要有一个临界资源才行,同时只有一个线程可以访问,其他线程不能访问,这就是全局变量不能随便访问,必须要有所限制,不同的编程语言有不同的写法,具体请参考多线程这一章。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯