__thread Foo foo;
"foo" aslında nasıl çözülür? Derleyici, "foo" nun her örneğini bir işlev çağrısı ile sessizce değiştirir mi? "Foo", yığının tabanına göre bir yerde depolanır ve derleyici bunu "her bir iş parçacığı için, yığının en altında bu boşluğa sahip olur ve foo" yığının altından "offset x" olarak depolanır. "?Linux'un iş parçacığı yerel depolama gerçekleştirme
Birden çok iş parçacığım varsa ancak yalnızca bir çekirdek varsa bunun nasıl çalıştığını görebiliyorum. Çok iş parçacıklı ve çok çekirdekli olduğunda, bu .tdata bölümü nasıl çalışır? – anon
@anon: İkinci davasında ne gibi farklılıklar görüyorsunuz? –
zaman 01: çekirdek 1 iş parçacığı 1'i çalıştırır; iş parçacığı 1'in .tdata'daki takaslar; zaman 02: çekirdek 2 iş parçacığı 2'yi çalıştırır; iplik 2'nin .tdata'daki takaslar; Şimdi thread1 aniden thread2's .tdata kullanıyor? – anon