zoukankan      html  css  js  c++  java
  • 多线程调用同一个方法,局部变量会共享吗

    对于一个局部变量应该是各线程独立的,一个线程不会改变另一个线程的临时变量。

    多线程时, 几个线程间输出信息是交叉在一起的, 但你又没有区分是哪个线程输出的, 所以你自己就误认为是同一个线程输出的东西被改变了.  实际上是你自己的理解错误.

    所有线程都用cout输出内容,你如何判断哪些内容是哪个线程输出的,
    而且cout是一个全局变量,多线程同时访问需要加锁,否则会出现一些莫名其妙的情况

    结论: 局部变量是不会被修改的,而全局变量则很容易就被修改了,而你却还不知道。

    //////////////////////////////////////////////////////////////////////////

    多线程中,不同线程调用同一个函数,使用的是同一份代码还是不同线程用函数的多个拷贝?为什么?即每个线程用一个拷贝函数。
    不同线程中调用函数的局部变量是否指向的都指向同一个?

    每个线程有自己的堆栈,所以调用函数时对函数的相关参数也是各有一份的,不用担心;只是全局变量需要考虑同步。

  • 相关阅读:
    洛谷 P1591 阶乘数码
    洛谷 P2008 大朋友的数字
    洛谷 P1716 双调序列
    洛谷 P2309 loidc,卖卖萌
    洛谷 P1324 矩形分割
    洛谷 P2690 接苹果
    洛谷 P1239 计数器
    hdu_4352_XHXJ's LIS(数位DP+状态压缩)
    hdu_5648_DZY Loves Math
    hdu_5179_beautiful number(数位DP)
  • 原文地址:https://www.cnblogs.com/yanglang/p/9714938.html
Copyright © 2011-2022 走看看