首页 > 解决方案 > 安全线程对象创建

问题描述

我正在尝试使用线程(任务)系统创建一个 tg 机器人。

如果我声明一个这样的类的实例,我会有“竞争条件”吗?

用户消息.cs

class UserMessage
{
    public string UserId { get; set; }
    public bool IsBot { get; set; }
    public string First_Name { get; set; }
    public string Last_Name { get; set; }
    public string UserName { get; set; }
    public int ChatId { get; set; }
    public string Title { get; set; }
}

Main.cs(主线程)

for (int i = 0; i < json["result"].Count(); i++)
                    {
                        UserMessage userMessage = new UserMessage();
                        userMessage.Title = json["result"][i]["message"]["title"].ToString();
                       -----------------------/FILLING OBJECT/--------------------------------
                                      ..............................

                        Task.Run(() =>
                        {
                            Task_Factory task = new Task_Factory();
                            task.Process_Msg(userMessage);
                        });
                    }

代码显示我需要创建 N 个任务,其中一个任务无法访问另一个任务的类的实例。这对我有用吗?

标签: c#multithreadingthread-safety

解决方案


推荐阅读