Task.Run Và Async Task Trong C# | How Kteam
Có thể bạn quan tâm
Đăng ký Đăng nhập - PG Pages
- Khóa học
- Lập trình
- Lập trình C# .Net
- Lập trình C++
- Lập trình Android
- Điều trường học không dạy
- Thủ thuật lập trình
- Lập trình Java
- Unity3D
- Phân tích thiết kế
- Lập trình Python
- Lập trình PHP
- Lập trình Robot
- JavaScript - (Website)
- Lập trình Front-End
- Lập trình Mobile
- Microsoft Office 2016
- Microsoft Word 2016
- Microsoft Excel 2016
- Microsoft PowerPoint 2016
- IT & Phần mềm
- Thủ thuật máy tính
- Hướng dẫn cài đặt
- Bảo mật máy tính
- Phần cứng & Bảo mật
- Đồ họa hình ảnh
- Adobe Photoshop LightRoom
- Kinh tế
- Quản trị kinh doanh
- Kế toán
- Nhân sự
- SEO
- Marketing
- Ngoại ngữ
- Tiếng anh
- Kỹ năng mềm
- Kỹ năng mềm
- Tin tức
- Tin tức công nghệ
- Lập trình
- Khóa học
- Hỏi đáp
- Bài viết
- Tag
- Kter
- Về Kteam
- Phản hồi
Chia sẻ kiến thức, cùng nhau phát triển
Đặt câu hỏi Hỏi đáp Task.Run và async Task trong C# Task.Run và async Task trong C# 11:12 04-08-2021 11.968 lượt xem 4 bình luận 20:33 04-08-2021 c# task async await csharp Báo cáoVí dụ code của Task.Run:
internal class Program { private static readonly Stopwatch watch = new Stopwatch(); private static void Main(string[] args) { watch.Start(); TaskTest(); Console.Read(); } /*task run*/ private static void TaskTest() { Task task1 = Task.Run(() => Task1()); Task task2 = Task.Run(() => Task2()); Task.WaitAll(task1, task2); Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms"); } private static void Task1() { Task.Delay(5000).Wait(); Console.WriteLine($"TaskOne\tExecution Time: {watch.ElapsedMilliseconds} ms"); } private static void Task2() { Task.Delay(2000).Wait(); Console.WriteLine($"TaskTwo\tExecution Time: {watch.ElapsedMilliseconds} ms"); } }Ví dụ code của async Task:
internal class Program { private static readonly Stopwatch watch = new Stopwatch(); private static void Main(string[] args) { watch.Start(); TaskAsyncTest(); Console.Read(); } /*task async*/ private static void TaskAsyncTest() { Task task1 = Task1Async(); Task task2 = Task2Async(); Task.WaitAll(task1, task2); Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms"); } private static async Task Task1Async() { await Task.Delay(5000); Console.WriteLine($"TaskOne\tExecution Time: {watch.ElapsedMilliseconds} ms"); } private static async Task Task2Async() { await Task.Delay(2000); Console.WriteLine($"TaskTwo\tExecution Time: {watch.ElapsedMilliseconds} ms"); } }Kết quả so sánh:
Mọi người cho mình hỏi trong C# giữa Task.Run và async Task khác nhau như thế nào và khi nào dùng Task.Run, khi nào dùng async Task?
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Đi sâu vào thì cũng khá khó nói và phức tạp, nên search tiếng anh nếu muốn hiểu rõ.
Nói đơn giản thì như nhau trong trường hợp này.
Với async thì task sẽ chạy cùng 1 thread với thằng gọi nếu có SynchronizationContext trong thread (Thread UI sẽ có cái này - Winform và Wpf). Lưu ý, trong trường hợp này nếu dùng Task.Result hay Task.Wait một hàm async khác sẽ bị dead lock.
Task.Run (và Task.Factory.StartNew ) thì có thể chạy khác thread, có thể chạy cùng thread (tùy config và ưu tiên).
Async await chỉ là keyword thôi, khi biên dịch ra thì nó thành kiểu tạo Task mới (Task.Run/Task.Factory.StartNew) rồi chạy tiếp sau await bằng Task.ContinueWith
2 0 Trả lời Báo cáo Xem tất cả 1 câu trả lờibạn thử xem trong đây giải thích khá chi tiết nè
DOCS
1 0 Trả lời Báo cáo Xem tất cả 1 câu trả lờiCâu hỏi mới nhất
Quan tâm Tag theo dõiYêu cầu đăng nhập
Để sử dụng tính năng này, Bạn cần đăng nhập bằng tài khoản Howkteam.
Đăng nhậpAD BLOCKER DETECTED
Để xem được nội dung và giúp Kteam duy trì hoạt động. Bạn vui lòng tắt Adblock trên website howkteam.vn nhé!
Từ khóa » Cách Dùng Async Await Trong C#
-
Lập Trình Bất đồng Bộ Asynchronou C# C Sharp Với ...
-
Lập Trình Bất đồng Bộ Trong C# - Viblo
-
Async Và Await Trong C# 5.0 +
-
Lập Trình Bất đồng Bộ Trong C# – Async & Await
-
Async Await C# Là Gì? Lập Trình Bất Đồng Bộ C# - Asiana
-
Thread Và Tasks Trong C# Sử Dụng Như Thế Nào? - CodeLearn
-
C# — Cách Thức Và Thời Điểm Sử Dụng ' Async Await C# Là Gì
-
[C#] Sử Dụng Từ Khóa Async Và Await Trong Lập ... - Lập Trình VB.NET
-
Lập Trình Bất đồng Bộ Asynchronous, Tạo Phương Thức ... - YouTube
-
Các đặc Trưng Hữu ích Trong C# (Phần 3) – Lập Trình Không đồng Bộ ...
-
Async Await Giá Như Tôi đọc được Bài Viết Này Sớm Hơn - Anonystick
-
[C#] Sử Dụng Từ Khóa Async Và Await Trong Lập Trình ...
-
Cách Thức Và Thời Điểm Sử Dụng ' Async Await C# Là Gì - Loto09
-
Xử Lý đồng Bộ Thread Với Async Và Await Trong C# - Học Lập Trình ...