函数调用的时候改变了参数

当函数调用的时候改变了参数,函数中正在执行的参数此时使用的是新的还是旧的值?

2个回答

 这个要看函数是同步执行还是异步执行,如果是同步的话,那么主程序调用函数,函数执行返回,主程序才继续执行,不可修改原来的参数。如果是异步执行,要看你的变量是值类型还是引用类型,如果是引用类型,那么有没有对这个变量加锁,如没有,的确存在主程序可以修改它,同时影响函数执行的情况。
   那要看你这个参数类型是值参还是引用参数了,如果是值参的话是不会影响的,引用参数的话由于是同一个引用对象,如果偏偏不同线程修改了某个属性而函数又会使用这个属性,就会有影响了,这就是需要考虑共享变量的同步问题了 。
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐