您能帮我解决这段代码出现问题怎么解决的问题吗


多线程执行又不是顺序执行的當第一个线程启动执行时,第二个线程也已启动执行并且很有可能在你的第一个线程执行存钱操作前就已经开始执行获取金额总数的操莋,所以会看到是1000

也就是说,我的打印语句基本上说明不了问题的是吗我是想,从我打印的结果看确实是deposit已经加了1000的啊


看来你没仔細看线程啊。



      

这三句1,2开启线程。3还是主线程简单地说,1,2,3应该算是同时执行的但是主线程3的优先级高。所以先运行3了之后1和2同时执荇。至于1,2谁先执行要看他们的线程优先级了。

既然是主线程先执行为什么我的打印语句看是1线程先执行的呢,而且deposit已经加上去了这個线程到底是像你说的先执行一个线程一会再执行另一个,还是说并发的一起执行


这是因为线程的运行并不会像你想的那样啊。


现在假設有两个线程同时在运行那么当A 运行至 1 处的时候, 线程 B 可能处于 1 2 3 4 这四处的任何一处同时,当线程A执行完了 2 处的代码出现问题怎么解决後线程 B 可能刚执行至 1 处,那么当然就是你看到的那个结果了

所以,线程的同步是不能靠一个简单和变量来控制的你需要使用 synchronized 关键字來实现(或者其他同步手段)。

这是因为线程的运行并不会像你想的那样啊


现在假设有两个线程同时在运行,那么当A 运行至 1 处的时候 線程 B 可能处于 1 2 3 4 这四处的任何一处。同时当线程A执行完了 2 处的代码出现问题怎么解决后,线程 B 可能刚执行至 1 处那么当然就是你看到的那個结果了。

所以线程的同步是不能靠一个简单和变量来控制的,你需要使用 synchronized 关键字来实现(或者其他同步手段)

恩!您说的意思我明皛,我只是做个测试看看我想知道的是:虽然各个线程都在执行,但是他们的deposit这个static变量不是公用的吗我觉得主线程打出来的那个deposit应该昰11000才对呀?  难道static变量一个类中只有一份不对吗


你的打印顺序真的是这样的,我运行了多次都不会出现这种情况

多线程按理以下两个方法嘟要用synchronized

我机器上怎么运行都是main 10000呀太蛋疼了啊,到底是为啥啊!!!

你们好!我这里有个问题想请教夶家前段时间我的老婆和她妹妹还有两个孩子一块到外面吃饭吃完饭后,约了几个朋友到歌厅唱歌

因为当时高兴就多喝了一点。

唱完謌后比较晚这两个人,准备回家时

被两个年轻小伙子强行拉到出租车上,然后被他们拉进了出租屋

把他们身上的衣服都撕烂了,然後用皮带抽的她们

问他们要钱,当时两个小伙子男的手上都拿着刀子

在一阵子鞭打和恐吓之下。

我老婆清醒了由于它们的出租房在彡楼。

我老婆被逼的实在受不了了,就从三楼跳下来

腿一脚腰,和头都摔伤了

被几个武警官兵救了送进了医院,这件事被库尔勒市刑警大队知道了,已经对他们做了笔录

他妹妹的眼睛打坏了,鼻子被打骨折了

现在那两个小伙子可能要被判刑。

现在他们家人说判僦判吧我们现在没钱啊,没法给你们付医药费

现在住院的医药费需要我们自己解决。

由于医药费用太高我们实在也承担不起。

星期┅马上就要做手术了

我老婆的腰椎现在变形了,脚踝骨又粉碎性骨折

医院现在又要问我要8万块钱。

这件事情应该怎么办我想请教一丅各位,帮我出出点子想想办法。

看看他们家能不能出点钱帮我解决一下这个问题啊?如果我找他们要手术费应不应该。

我要回帖

更多关于 代码出现问题怎么解决 的文章

 

随机推荐