CS29 - Lập trình bất đồng bộ Asynchronous, tạo phương thức asynchronous với async/await và task C#

  Рет қаралды 42,612

XuanThuLab

XuanThuLab

Күн бұрын

Пікірлер
@XuanThuLab
@XuanThuLab 3 жыл бұрын
Các bạn đăng ký theo dõi ủng hô kênh nhé, cảm ơn các bạn kzbin.info
@LearningEverything1001
@LearningEverything1001 4 ай бұрын
Video tuy chỉ 43p, nhưng để những người mới học c# như mình hiểu được thì phải mất gấp mấy lần số 43p đó, kiến thức rất cô đọng và dễ hiểu nhưng để xem đến đâu hiểu luôn đến đó thì mình nghĩ rất ít người làm được như vậy, mình vừa xem vừa tua lại và ngẫm nghĩ từng câu nói của XuanThuLab mới hiểu và xem tiếp.
@NghĩaNguyễnĐức-q8e
@NghĩaNguyễnĐức-q8e Жыл бұрын
Dễ hiểu quá a ạ , em cảm ơn a.
@nghi7160
@nghi7160 5 ай бұрын
Cảm ơn kênh bài giảng rất bổ ích
@ThanhHoang-dm5wk
@ThanhHoang-dm5wk 3 жыл бұрын
Rất cảm ơn kênh làm video rất dễ hiểu. cảm ơn bạn rất nhiều
@ovantuan8406
@ovantuan8406 3 жыл бұрын
Anh giảng hay quá
@bangthanh956
@bangthanh956 3 жыл бұрын
Video rất hay và dễ hiểu, 1 video tương đương mấy giờ search google :)) cám ơn AD rất nhiều :D
@Administrations
@Administrations Жыл бұрын
Anh dạy quá hay luôn😊
@leethai98
@leethai98 3 жыл бұрын
Cảm ơn AD rất rất nhiều
@cuoi123
@cuoi123 3 жыл бұрын
hay quá bác, cám ơn bác
@z2hteam147
@z2hteam147 3 жыл бұрын
Tutorial đúng, nhưng chưa đủ. TH này chạy trên Console, nó ko quan tâm đến thread UI. Bác nên bổ sung trường hợp chạy trên UI, khi lấy kết quả của 1 task, chúng ta không nên dùng task.Result, mà phải đợi task hoàn thành mới trả kết quả task.ConfigureAwait(false) Khuyến nghị nên dùng Task.WhenAll thay cho Task.WaitAll
@okebanei
@okebanei 2 жыл бұрын
task.configureAwait(false) là gì bác ơi
@18.tranquangminhuc49
@18.tranquangminhuc49 Жыл бұрын
@@okebanei cái đó giúp bạn cải thiện hiệu suất á
@mcfunhappy5552
@mcfunhappy5552 Жыл бұрын
cảm ơn sư phụ, đệ tử đã giác ngộ Async & Wait, đợi tu luyện thêm vài bộ chân kinh DotNet là có thể phi thăng thành Senior rồi :>>
@SonChuVan-f9y
@SonChuVan-f9y 11 ай бұрын
em trình itern thì có nên học không ạ? hay ưu tiên những j đơn giản trước, cày đến đây rồi mà thấy a nói sợ quá:((
@mcfunhappy5552
@mcfunhappy5552 11 ай бұрын
@@SonChuVan-f9y uây bro cái này quan trọng đó, học sớm chứ đừng next nha
@DoanQuangThangQP
@DoanQuangThangQP 9 ай бұрын
@@SonChuVan-f9y bạn học đến dâu rồi bạn, mình cũng intern mới học tới đây, mình cùng học được k bạn
@LAnNguyen-ie8ix
@LAnNguyen-ie8ix 20 сағат бұрын
@@SonChuVan-f9y mk intern cung dag cay a len fresher chua a
@NHGeneral
@NHGeneral 3 жыл бұрын
Bài này hay quá!!!
@ddthon
@ddthon Жыл бұрын
thay day de hieu gia lun
@MinhQuanCt3
@MinhQuanCt3 3 жыл бұрын
hay quá a.
@dxlaam004
@dxlaam004 3 жыл бұрын
Hay qua anh
@monkeydluffy92
@monkeydluffy92 3 жыл бұрын
Áp dụng cho Winform load Gridview thì như thế nào bác ^^ Ví dụ vừa load vừa hiển thị gridview
@nghiaphanthanh2204
@nghiaphanthanh2204 2 жыл бұрын
thầy cho em hỏi tại sao return về task ngay lúc await thì không ảnh hưởng đến thread chính ạ
@HOA-NGUYEN-DEV
@HOA-NGUYEN-DEV 2 жыл бұрын
Cám ơn XuanThuLab.Như trong video anh có trình bày , khi call await thì sẽ trả về cho main thread , trường hợp muốn call nhiều await liên tục thì làm như thế nào a?
@anajito2023
@anajito2023 3 жыл бұрын
Thanks ad ạ
@nothingnothing64
@nothingnothing64 3 жыл бұрын
[KLQ] Cho em hỏi em có source .net có xài (.net standard vs net5.0) nhưng không biết run trên MacOS có ổn k ạ? Vì mình k xài .net framework và MacOs đã hỗ trợ .net. Em thấy clip thì a xài macos để code .net trên VS code. (Do em muốn mua macbook để code .net & flutter).
@uctaiphan7950
@uctaiphan7950 3 жыл бұрын
hi bác, bác đang đi làm với C# hả, mảng nào vậy bác ?
@Vimax0208
@Vimax0208 7 ай бұрын
em có 1 thắc mắc là nếu Async-await nhằm mục đích tạo ra các phương thức bất đồng bộ và chạy trên 1 thread riêng, nó có các tác vụ chờ nhưng không làm gián đoạn thread chính. Thì tại sao lại không tạo luôn Thread t = new Thread(..) để chạy mà cần Async - await. Mọi người giải thích giúp em vs ạ.
@tienn-f3w
@tienn-f3w 3 ай бұрын
"Async-await nhằm mục đích tạo ra các phương thức bất đồng bộ và chạy trên 1 thread riêng" => sai - Async await chỉ là non-blocking (không chặn), giúp không phải chờ đợi vô nghĩa, thread sẽ được quản lý tự động "sao lại không tạo luôn Thread t = new Thread(..) " - Quản lý thread khó, số lượng thread quá nhiều => có khả năng bị treo app - Vì mỗi luồng thực hiện 1 nhiệm vụ => khó share data, dễ gây xung đột dữ liệu (2 thread cùng đọc 1 dữ liệu => có thể lỗi, 2 thread cùng sửa 1 dữ liệu => kết quả sai, xung đột điều khiển (ví dụ rõ nhất là singleton))
@laptrinhwindowsform
@laptrinhwindowsform 3 жыл бұрын
Anh cho em hỏi: nếu có nhiều task muốn sử dụng vòng lặp và truyền tham số cho task để start, chứ không khai báo thủ công thì làm sao?
@XuanThuLab
@XuanThuLab 3 жыл бұрын
Anh không hiểu rõ ý của em, tuy nhiên để truyền tham số phức tạp cho Task có thể sử dụng kiểu vô danh chứa nhiều trường dữ liệu xuanthulab.net/kieu-vo-danh-va-kieu-dong-dynamic-trong-c-c-sharp.html var parameters = new { thamso1 = 1, thamso2 = "dfdsf" }; Task task = new Task((dynamic thamso) => { var thamso1 = thamso.thamso1; var thamso2 = thamso.thamso2; }, parameters);
@dungngotien4484
@dungngotien4484 3 жыл бұрын
Cảm ơn bác! Video rất chi tiết và dễ hiểu. Bác cho em hỏi có cách nào ngừng 1 task khi nó đang thực hiện không ạ ?
@XuanThuLab
@XuanThuLab 3 жыл бұрын
xuanthulab.net/lap-trinh-bat-dong-bo-asynchronou-c-c-sharp-voi-bat-dong-bo-theo-mo-hinh-tac-vu.html#CancellationToken
@giamannguyen8759
@giamannguyen8759 Жыл бұрын
20:40
@trandungediot
@trandungediot 3 жыл бұрын
Em đã xem video này khoảng 10 lần và em đã lập trình được async task như trong video. Em lập trình c# điều khiển giả lập Android các lệnh em xài chủ yếu là Image Search. Em cũng sử dụng async task để chạy nhiều tác vụ. Khi chạy với số ít giả lập (15 trở lại) thì có vẻ ok và không báo lỗi gì , nhưng khi chạy nhiều giả lập thì sẽ báo lỗi: Object is currently in use elsewhere Em đã thử dùng lock(){ } nhưng hiệu suất giảm đi rất nhiều (chỉ còn khoảng 20%) ạ. Anh có thể giúp em giải quyết vấn đề này không ạ. Em cảm ơn anh! Mong anh chị nào đi ngang qua cho em ý kiến để giải quyết vấn đề hoặc chỉ chỗ cho em tìm câu trả lời với ạ.
@cuoi123
@cuoi123 Жыл бұрын
1 năm rồi, giải quyết đc chưa bạn, share cho ae với =))
@nguyenvanmanh3569
@nguyenvanmanh3569 3 жыл бұрын
Anh có thể giải thích sự khác nhau, ưu điểm, nhược điểm của async vs parallel không ạ ? Em cảm ơn anh.
@hungtran-uq4jk
@hungtran-uq4jk Жыл бұрын
2 cai nay khac nhau hoan toan sao ma so sanh duoc ban.
@hungtran-uq4jk
@hungtran-uq4jk Жыл бұрын
vi du ban so sanh: multi thread va multi process thi ok vi no cung huong den giai quyet cung 1 van de.
@studyandentertainment581
@studyandentertainment581 3 жыл бұрын
Em chào mọi người, em đang học về async_await trong C#, em đang muốn gọi hai hàm async chạy song song với nhau và đây là code của em: using System; using System.Threading; using System.Threading.Tasks; namespace async_await { class Program { public static async Task PrinColor(int seconds, string mgs, ConsoleColor color) { //int a = 123; Console.ForegroundColor = color; Console.WriteLine($"{mgs,10}.... Start"); Console.ResetColor(); for (int i = 0; i < seconds; i++) { Console.ForegroundColor = color; Console.WriteLine($"{mgs,10} {i,2}"); Console.ResetColor(); Thread.Sleep(1000); } Console.ForegroundColor = color; Console.WriteLine($"{mgs,10}.... End"); Console.ResetColor(); int a = await num(); return a; } public static async Task num() { return 5; } static async Task Main(string[] args) { int number = 10; // Console.WriteLine("Truowsc" + number); Task a = PrinColor(5, "T1", ConsoleColor.Magenta); Task b = PrinColor(15, "T2", ConsoleColor.Green); var kq = await a; var kq1 = await b; // Console.WriteLine("Sau" + number); } } } Em không hiểu vì sao mà nó vẫn chạy đồng bộ từ Tast T1, T2 trong khi em đã để làm hàm async. Mong mọi người dành thời gian giúp em ạ! Em cảm ơn rất nhiều!!!
@utxitrum9578
@utxitrum9578 2 жыл бұрын
đây nè em thêm chỗ này nhé await Task.Run(() => { for (int i = 0; i < seconds; i++) { Console.ForegroundColor = color; Console.WriteLine($"{mgs,10} {i,2}"); Console.ResetColor(); Thread.Sleep(1000); } });
@mcfunhappy5552
@mcfunhappy5552 Жыл бұрын
@@utxitrum9578 sao phải thêm await Task Run thì nó mới ko đồng bộ vậy a, e tưởng class Async là nó k đồng bộ rồi chứ
Жездуха 42-серия
29:26
Million Show
Рет қаралды 2,6 МЛН
$1 vs $500,000 Plane Ticket!
12:20
MrBeast
Рет қаралды 122 МЛН
ССЫЛКА НА ИГРУ В КОММЕНТАХ #shorts
0:36
Паша Осадчий
Рет қаралды 8 МЛН
She wanted to set me up #shorts by Tsuriki Show
0:56
Tsuriki Show
Рет қаралды 8 МЛН
Unity async / await: Coroutine's Hot Sister [C# & Unity]
16:18
What are ASYNC and AWAIT in C#? Asynchronous Programming Tutorial
18:34
Những lỗi “code ngu” mà có thể bạn hay mắc phải!
10:47
Phạm Huy Hoàng
Рет қаралды 166 М.
Tại sao nguyên tắc SOLID là bí quyết để viết code tốt hơn?
14:31
Жездуха 42-серия
29:26
Million Show
Рет қаралды 2,6 МЛН