説明するマルチスレッドの件名で質問があります
private List<Email> emails = new List<Email>();
private void AddEmail(Email email)
{
lock (this.emails)
{
this.emails.Add(email);
}
}
private void ReadEmails()
{
foreach (Email email in this.emails)
{
Print(email);
}
}
ReadEmails メソッドが 10 秒間続き、その時点で AddEmail が呼び出されたとします。では、エラーは発生しませんか?