اثناء تعلمي للسي شارب، وجدت ما لم افهمه في كود خاص بthreading، ارجو المساعدة
الكود هو:
Thread thread1;
Thread thread2;
public Form1()
{
InitializeComponent();
thread1 = new Thread(new ThreadStart(do1));
thread2 = new Thread(new ThreadStart(do2));
thread1.Start();
}
int i = 0;
public void do1()
{
listBox1.Items.Add(i++);
//MessageBox.Show("do-1" + i);
}
public void do2()
{
listBox1.Items.Add(i * 100);
}
private void Form1_Load(object sender, EventArgs e)
{
}</div>
1. لماذا يظهر خطا cross threading في الكود السابق (ولماذا يظهر الخطا بعد التشغيل للمرة الثانية وليس في اول تشغيل للكود)
2. لماذا لا يظهر الخطا عندما احول جملة listbox الى ملاحظة، والغي عن جملة messagebox الملاحظة.
3. اخيرا اين استعمل جملة close, وكيف استعملها، ومتى استعمل جملة sleep او abort.