类的多个对象共享的有:成员函数、被static修饰的成员变量
多个对象使用同一个成员函数,会串行。
多线程使用同一个成员函数,会并行。
代码与数据是两种东西,代码负责取出数据。函数本身是代码,代码在内存中唯一。其形参、局部变量在各自的线程栈中,内存独立。
函数中的全局变量、动态申请的空间、静态局部变量等在堆空间,堆内存共享唯一。因此这种函数在被多线程调用时要加锁。
【参考】
两个线程同时调用一个函数会出现什么情况? - 哈哈不是嘎嘎 - 博客园 (cnblogs.com)
为什么多线程进入同一个函数可以保证数据的完整性? - faithlocus - 博客园 (cnblogs.com)