Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Hỏi ? Cách khắc phục đơ form khi dùng Thread

20:12 22-01-2018 479 lượt xem 6 bình luận 23:59 09-03-2018

Cho em hỏi làm thế nào để chạy nhiều thread mà không bị vấn đề đơ form ạ? cám ơn !

VD: 

            for (int i = 0; i < 5; i++)
            {
                var thr = new Thread(new ThreadStart(new MethodInvoker(delegate
                 {
                     for (int t = 0; t < 100000; t++)
                     {
                         this.Invoke(new MethodInvoker(delegate
                         {
                             richTextBox1.Invoke((System.Action)(() => { richTextBox1.ScrollToCaret(); richTextBox1.AppendText(t.Tostring() + Environment.NewLine); }));
                         }));
                     }
                 })));
                thr.IsBackground = true;
                thr.Start();
            }

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 00:15 23-01-2018

bạn cần Sleep nó

thêm Thread.Sleep(1); vào trong loop

whynotme8998 đã bình luận 19:09 10-02-2018

OK. Chúc bạn thành công

PhuongLazy đã bình luận 18:34 29-01-2018

Cám ơn anh nhiều em làm được rồi ! I love you <3

whynotme8998 đã bình luận 09:54 25-01-2018

Sử dụng async/await keywords C#:

private async void BtnWrite_Click()
        {
            await Task.Run(async () =>
            {
                for (int i = 0; i < 5; i++)
                {
                    for (int j = 0; j < 100000000; j++)
                    {
                        await Task.Delay(1);
                        richtextbox.Append($"Write {i}:{j}");
                    }
                }
            });
        }

Câu hỏi mới nhất