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 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Sự khác nhau giữa synchronous và asynchronous trong C#?

    Bạn nào có thể nói rõ hơn cho mình hiểu về các "synchronous menthods" và "asynchronous menthods" trong lập trình socket được không, khi nào thì dùng "synchronous menthods", khi nào dùng "asynchronous menthods" mình có đọc cuốn "C Sharp Network Programming" mà chẳng hiểu gì cả. VD: Acept() và Beginacept(). Và cho mình hỏi thêm là tại sao khi dùng "synchronous menthods" đối vớ lập trình ở dạng cosole thì không sao nhưng khi chuyển qua window thì phải tạo thêm Threads nếu không sẽ bị treo.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bản chất của sync là phải đứng chờ và thường được kết hợp với thread. Nếu ứng dụng form dùng sync socket mà ko tạo thread thì main thread sẽ bị dừng lại cho đến khi có sự kiện network xảy ra. Main thread là thread vẽ giao diện, bắt và xử lý sự kiện, nó bị dừng dĩ nhiên là giao diện sẽ bị đơ. Sync càng mở nhiều thread thì sẽ tốn tài nguyên càng nhiều, mà lại lãng phi vì chỉ dùng để đứng chờ mà thôi. Async thì hoạt động theo cơ chế sự kiện, vì vậy nó rất tiết kiệm tài nguyên. Nhưng trong một số trường hợp async sẽ bị thắt cổ chai. Hàm callback mà async gọi vào phải xử lý nhanh, tránh việc dừng lại lâu vì sẽ ảnh hưởng đến các callback tiếp theo. Lý thuyết sơ sơ là vậy, nếu bạn thấy cái nào hợp với hoàn cảnh, nhu cầu của bạn thì dùng cái đó.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Có thể hiểu nôm na là sync thì chỉ làm dc 1 việc 1 lúc, còn asynchronous thì làm đc nhiều việc cùng 1 lúc. Bạn đọc seri bài về delegate ở đây sẽ hiểu http://revitviet.vn/a/index.php?view...tent&Itemid=15

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cám ơn bạn nhiều!

 

 

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
  •