美文网首页程序员
温故而知心 - 多线程中的Local和share变量

温故而知心 - 多线程中的Local和share变量

作者: 哈比猪 | 来源:发表于2016-09-21 10:34 被阅读0次

    多线程中我们往往会忽略一个东西(至少我忽略了_),就是每个线程独有的local变量

    线程local变量

    例如:

    static __thread int a[10];
    

    通过定义static加__thread来定义线程内的local变量,每一个线程内都独享这样一个局部变量,不会被其他线程的动作所影响,也就是说a[10]对于每个线程来说都是隔离的

    线程安全共享变量

    可以通过定义volatile变量来实现,但要注意最好使用volatile作用在标志状态的变量上,因为volatile并不是原子的,如果应用不当会导致多线程安全问题。
    简单例子定义:

    static volatile int a = 10;
    

    相关文章

      网友评论

        本文标题:温故而知心 - 多线程中的Local和share变量

        本文链接:https://www.haomeiwen.com/subject/otcaettx.html