我想讓我的事情更清楚地瞭解如何在多線程應用程序中使用類的實例:
我可以在不同線程中使用同一個類的實例嗎?換句話說,可以在不同的線程中創建同一類的實例嗎?在不同線程中使用一個類的實例
例如:
我有一個類DbConnectionHelper
它得到一個連接字符串中的默認構造函數和使用公共財產進行連接字符串可見:
public class DbConnectionHelper
{
string connstring;
public DbConnectionHelper()
{
string userconnstring = Settings.Default.ConnectionString;
connstring = GetConnectionString(userconnstring);
...
}
public string ConnString
{
get
{
return connstring;
}
set
{
connstring = value;
}
}
...
然後,我有一些倉庫類它使用實體框架從數據庫獲取數據。其中一些存儲庫類在UI線程中有實例,其中一些在其他線程(而不是UI)中。
所有這些存儲庫類都可以通過創建一個類DbConnectionHelper的實例並讀取它的ConnString屬性來獲取連接字符串嗎?同一類的
DBConnectionHelper connhelper = new DBConnectionHelper();
string conn = connhelper.ConnString;
簡單的回答:是的。類/對象和線程之間沒有關係。只有代碼在線程上執行。 –