我想使用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);
哪个代码是线程安全且更好?它是一回事吗?