Static and global variable in memory

后端 未结 4 1732
后悔当初
后悔当初 2020-12-06 08:19
  1. Are static variables stored on the stack itself similar to globals? If so, how are they protected to allow for only local class access?

  2. In a multi

4条回答
  •  眼角桃花
    2020-12-06 09:05

    Are static variables stored on the stack itself similar to globals? If so, how are they protected to allow for only local class access?

    Generally they are stored in memory along with globals. however the visibility of the variable names limits access.

    In a multi threaded context, is the fear that this memory can be directly accessed by other threads/ kernel? or why cant we use static/global in multi process/ thread environment?

    The problem is that there's only one copy of a static, so if multiple threads are modifying the variable, one thread may cause another thread's change to be lost if there aren't safeguards (critical sections) to prevent this.

提交回复
热议问题