插入具有线程安全性的数据的方法..静态或新类?

时间:2014-01-06 15:12:01

标签: c# mysql parallel-processing thread-safety

我想使用parallel将数据插入MySQL。

Class Database
{
    ...

    public static void insert(string line)
    {
        try
        {
            string query = "INSERT INTO db." + line + " VALUES (..)";
            using (MySqlConnection conn = new MySqlConnection(DBconnection))
            {
                using (MySqlCommand cmd = new MySqlCommand(query, conn))
                {
                    try
                    {
                        conn.Open();
                        cmd.ExecuteNonQuery();
                    }
                    catch (MySqlException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    catch (InvalidOperationException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("ERROR: " + ex.Message);
        }
    }
}

这是我的问题。

Parallel.ForEach(List, value =>
{
    // HERE
});

我应该使用哪种代码?

Database.insert(something);

如果我将 public static void insert 更改为 public void insert

并使用

new Database().insert(something);

哪个代码是线程安全且更好?它是一回事吗?

0 个答案:

没有答案