0

请让我知道以下方法是否线程安全。请考虑在侧面Timers.timer滴答事件中调用的此方法(这是一个多线程环境)。

public void GetMyInfo()
{

    Test t= new Test();
    string result= t.SendData();

    if (result != "0")
    {
        MyInfo _omy = new MyInfo();
        _omy.name="abc";
        _omy.age="23";
        t.sendMyInfo(_omy)
    }
}

class MyInfo
{
string name{get;set;}
string age {get;set}
}

`

4

2 回答 2

3

您提供的所有代码都不会在不同线程之间共享数据,因此您应该很好,假设您未发布的相关代码中没有线程安全问题,其中包括Test()Test.SendDataTest.sendMyInfo.

另一方面,您是否还考虑过您将数据发送到的流程?如果您有两个线程同时发送数据会导致问题,还是您的收件人会正确处理?

于 2013-05-31T14:00:14.967 回答
0

如果 Test.SendData 和 Test.sendMyInfo 方法是线程安全的,那么您呈现的代码本身就是线程安全的。否则不行!

于 2013-05-31T14:00:00.223 回答