Bài toán Dining Philosophers (Bữa tối của các triết gia) là một trong những bài toán kinh điển thường dùng để mô tả các vấn đề trong việc xử lý concurrent, những vấn đề thường gặp trong quá trình cấp phát tài nguyên mà không dính deadlock (khóa chết) và đói tài nguyên (starvation). 1. Mô tả bài toán Bài toán được phát biểu như sau: Cho 5 vị triết gia ngồi quanh một bàn tròn, trước mặt họ là...
Happy New Year golang concurrency Operating SystemBài viết nằm trong series Multithread từ hardware tới software với Java. Với bài trước, để xử lý data race chúng ta sẽ sử dụng cơ chế mutual exclusion. Bài này sẽ diễn giải rõ hơn về các cách để implement trong ngôn ngữ Java. Let's begin. public class MutualExclusion { private static int COUNTER = 0; public static void main(String... args) throws Exception { final Runnable increaseCounterFunc = () -> IntStream ...
concurrency May Fest parallel programmingBài viết nằm trong series Multithread từ hardware tới software với Java. Mục tiêu của bài viết sẽ trả lời câu hỏi: Thêm bao nhiêu processors là đủ? (tất nhiên nếu bạn là richkid thì con số không phải vấn đề). Anh em dev nổi tiếng nghèo ăn mì tôm chống đói, nên điều này rất đáng quan tâm. Let's begin. 1) Amdahl's law Để tôn trọng tác quyền, một định lý hoặc quy luật sẽ được đặt tên theo tác...
concurrency parallel programming MultithreadKhi bắt đầu tìm hiểu sâu về Asynchronous và Isolate trong Dart có rất nhiều bạn đang bị nhầm lẫn giữa 2 khái niệm đồng thời (concurrency) và song song (paralleism) trong Dart. Để có thể hiểu rõ hơn về 2 khái niệm này thì trước tiên chúng ta phải làm rõ 1 số các khái niệm cơ bản về Dart như sau : Dart is a Single Threaded language Dart là 1 ngôn ngữ đơn luồng cho nên Dart thực hiện từng tác vụ một,...
Flutter concurrency Multithread async Parallel