[থ্রেডস্ট্যাটিক] বৈশিষ্ট্য কীভাবে কাজ করে?
আপনি ভাবতে পারেন যে থ্রেডস্ট্যাটিকের সাথে চিহ্নিত ক্ষেত্রটি একটি থ্রেডের সাথে সংযুক্ত এবং এর জীবনকাল একটি থ্রেডের জীবনকালের সাথে তুলনীয়।
সুতরাং সিউডোকোডে ThreadStatic
থ্রেডের সাথে কী-মান যুক্ত হওয়ার অনুরূপ (শব্দার্থবিজ্ঞানের দ্বারা):
Thread.Current["MyClass.myVariable"] = 1;
Thread.Current["MyClass.myvariable"] += 1;
তবে সিনট্যাক্সটি কিছুটা সহজ:
class MyClass {
[ThreadStatic]
static int myVariable;
}
// .. then
MyClass.myVariable = 1;
MyClass.myVariable += 1;
আপনি যদি অ-স্থিতিশীল সদস্যকে রাখেন তবে কী হবে?
আমি বিশ্বাস করি এটি উপেক্ষা করা হয়েছে:
class A {
[ThreadStatic]
public int a;
}
[Test]
public void Try() {
var a1 = new A();
var a2 = new A();
a1.a = 5;
a2.a = 10;
a1.a.Should().Be.EqualTo(5);
a2.a.Should().Be.EqualTo(10);
}
অতিরিক্তভাবে এটি উল্লেখযোগ্য যে ThreadStatic
সাধারণ স্থিতিশীল ক্ষেত্রের তুলনায় কোনও সুসংগত ব্যবস্থা প্রয়োজন হয় না (কারণ রাষ্ট্রটি ভাগ করে নেই)।