Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 6 của 6
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Vấn đề về thời gian xử lý trong C# ?

    Mình đang làm 1 chương trình sắp xếp theo thứ tự ABC trong RichTextBox.
    Dữ liệu đc load lên RichTextBox là 1 file Word có đến 607 trang. Sau khi đã load vào Richtextbox mình thực hiện xử lý từng dòng và Add vào ArrayList để sắp xếp.

    Mã:
                foreach (string s in richTextBox1.Lines)            {                Arlist.Add(s);            }//Mình đã test đến đây nó xuất ra 1 MessageBox.
    Giờ mình thêm 1 vòng lặp nữa gán các phần tử trong ArrayList ra text Box thì nó bị DeadLock.

    Mã:
                foreach (string st in Arlist)            {                textBox2.Text += st;            }
    Thông báo lỗi như hình bên dưới.
    Các bạn có cách nào giúp mình với !
    Thanks !

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    hix! tận 607 trang word mà bạn nhét vào Textbox chắc là nó "vỡ" mất. [IMG]images/smilies/laughing.gif[/IMG] Mà bạn cho ra Textbox làm chi vậy? mình ko hiểu.he

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hic..
    Mình có ông cậu. Ổng là nhà văn và đang làm từ điển hay sao ý mình ko rành nữa.
    ông ném cho mình file word đó và yêu cầu sắp xếp theo ký tự ABC.
    - Mình xin bổ sung thông tin nữa là. Khi nó hiện ra cái bảng báo DeadLock đó và mình tiếp tục click và button Continue thì hệ thống vẫn tiếp tục xử lý.
    Nhưng mà theo mình lâu quá. Mình cho nó treo gần 15 phút mà mới có xử lý đc 3000 dòng trên tổng số 16131 dòng.
    Các bạn có cách nào khả thi hơn nữa không.
    Giờ cách hiện tại trong đầu mình suy nghĩ là chia nhỏ file word ra để xử lý.
    Mong các bạn cho ý kiến !

  4. #4
    Chắc chủ thớt sắp xếp xong rồi đến khi load ra giao diện mới đơ chăng [IMG]images/smilies/11.gif[/IMG]
    Thường thì cứ thử xem 607 trang nó ra sao rồi tìm cách optimize.

    Nếu bạn muốn "cố đấm ăn xôi" bắt chương trình nó chạy thì thử tắt cái Exception ContextSwitchDeadlock đi xem nó thế nào ? http://msdn.microsoft.com/en-us/library/ms172233.aspx

    Nếu dùng Visual Studio : chọn Debug -> Exception -> Managed Debugging... -> bỏ chọn ContextSwitchDeadlock đi.

    Mà load ra textbox làm gì nữa nhỉ ? Sau khi processs xong xuôi thì ghi lại vào file thôi chứ [IMG]images/smilies/smile.png[/IMG]

  5. #5
    Em muốn thấy kết quả của mình sau khi xử lý xem thế nào thui.
    Vấn đề là dữ liệu lớn quá nên thời gian xử lý rất là chậm.
    Anh xem còn cách nào giải quyết vấn đề của em kô.
    Trong file word thì dữ liệu được sắp lộn xộn ko theo trật tự ABC giờ em phải sắp xếp lại.
    Cách làm của em như thế có ổn ko ?

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    HI. Của bạn Bị treo "giò" ở cái hiển thị ra Textbox phải không? Sao bạn ko hiển thị kết quả là richtextbox?Nếu thấy nó nhiều quá thì dùng Debug hoặc là cho nó hiển thị tầm <5 phần tử của arraylist xem ổn chưa. Đừng vội tham cho chạy hết.[IMG]images/smilies/waiting.gif[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •