Advertisements
YellowCode.Books

Java Bài 46: Đồng Bộ Hóa Tập 3 – Đồng Bộ Cooperation – Các Từ Khóa wait/notify/notifyall

Thật là một thời gian khá lâu cho bài học về Java phần tiếp theo này. Đây có thể được xem là bài viết Java khởi đầu cho năm mới, tuy nhiên lại là một chủ đề “còn nợ” lại từ năm cũ. Có thể vì thời gian đợi khá lâu sẽ làm bạn quên đôi chút. Mình xin nhắc lại là chúng ta đang nói về các cách thức Đồng bộ hóa thread trong lập trình Java. Chúng ta tìm cách làm sao để các Thread tuy được “tự do tự tại” trong việc thực thi các tác vụ song song, lại có thể biết tuân thủ theo các nguyên tắc trật tự nào đó khi chúng có sử dụng chung đến các đối tượng, hay chúng ta gọi là các tài nguyên. Bài hôm trước là một cách, hôm nay chúng ta đến với cách thứ hai.

Android Architecture Component – Phần 3: Tìm Hiểu Về Lifecycle Aware Components

Ở các phần trước, chúng ta đã cùng nhau nói đến cách sử dụng hai thành phần cơ bản trong bộ kiến trúc Android Architecture Component mà Google mang tới, đó là ViewModel và LiveData.
Quả thật hai thành phần ViewModel và LiveData cũng đã giúp ích chúng ta giải quyết rất nhiều yêu cầu cơ bản từ các ứng dụng hiện nay rồi. Thế nhưng bấy nhiêu đó thôi vẫn chưa nói hết sức mạnh của Android Architecture Component mang lại. Chúng ta còn phải nói nhiều hơn vể công dụng của kiến trúc mới này. Và hôm nay mình xin trình bày một khía cạnh khác nữa của nó, khía cạnh này có cái tên Lifecycle-Aware Components.

Android Studio 3.2 Có Gì Mới?

Thời gian trôi qua rất nhanh, nhanh đến nỗi mà mình đã khuyết hẳn một bài viết về Android Studio 3.1. Để rồi Android Studio 3.2 này ra đời rồi mình mới thấy bất ngờ. Nhưng may mà Android Studio 3.1 cũng không có nhiều những cái mới mẻ lắm, bạn có thể xem lại những cập nhật của phiên bản cũ 3.1 ở link này nếu muốn.

Các tính năng mới trên Android Studio 3.2 được nhắc đến từ sự kiện Google I/O 2018. Tập trung lớn nhất trên công cụ lập trình Android này là giúp các lập trình viên xây dựng các ứng dụng tốt nhất trên hệ điều hành Android 9 Pie, đồng thời theo sát tham vọng Android App Bundle. Ngoài ra còn có vô số cập nhật thú vị khác nữa. Vậy thì các khái niệm mình mới đưa ra là gì, và các tính năng mới của Android Studio 3.2 như thế nào, mình mời các bạn cùng đến với bài viết.

Java Bài 45: Đồng Bộ Hóa Tập 2 – Đồng Bộ Mutual Exclusive & Từ Khóa synchronized

Như vậy là sau khi kết thúc bài học mở màn về Đồng bộ hóa hôm trước, mình có nói rằng sẽ có hai cách thức để đồng bộ các Thread với nhau. Các cách đồng bộ này đều mang đến một mục tiêu chung là giới hạn các Thread truy cập vào cùng một tài nguyên dùng chung. Và bài học hôm nay mình sẽ trình bày cụ thể cách thức đầu tiên trong hai cách trên đây, cách thức này có cái tên Loại trừ lẫn nhau (Mutual Exclusive). Sau các bài học về đồng bộ này, bạn sẽ biết cách làm thế nào để tránh sự xung đột về tài nguyên hệ thống khi làm việc với Multithread, và cả biết xem khi nào thì nên dùng cách thức đồng bộ nào nữa đấy.

Java Bài 44: Đồng Bộ Hoá Tập 1 – Làm Quen Với Đồng Bộ Hoá

Còn nhớ bài trước mình có hứa ở cuối bài rằng hôm nay chúng ta sẽ xem xét tất cả các phương thức hữu dụng của Thread. Nhưng mình nhận ra rằng đa số các phương thức hay ho mà Thread mang lại đều xoay quanh việc làm sao giúp đồng bộ các Thread trong một Process với nhau.

Vậy thì, để dễ dàng hơn cho các tổng hợp về các phương thức mà mình đã hứa, mình quyết định sẽ trình bày sang kiến thức về cái sự Đồng bộ hoá các Thread này. Trong quá trình tiếp cận khái niệm về Đồng bộ hoá, bạn sẽ hiểu rõ hơn các phương thức hữu dụng bên trong một Thread hơn thôi. Hôm nay chúng ta sẽ bắt đầu làm quen với các khai niệm sơ khởi về Đồng bộ hoá trước. Mời các bạn cùng đến với bài học.

Java Bài 43: Thread Tập 3 – Vòng Đời Của Thread

Với việc làm quen với Thread ở bài hôm trước, bạn đã biết rằng có hai cách để chúng ta tạo ra một Thread rồi.

Bước sang phần này của Thread, chúng ta cùng tìm hiểu sâu hơn về Thread, để xem khi bạn tạo ra một Thread nào đó, thì vòng đời của nó sẽ như thế nào? Thread đó sẽ trải qua những trạng thái nào trong vòng đời đó? Dựa vào các trạng thái đó, làm sao để các Thread có thể đồng bộ hoá, hay có thể hiểu là tự điều chỉnh độ ưu tiên trong việc thực thi tác vụ giữa các Thread trong cùng một Process với nhau? Mời bạn cùng đến với những kiến thức thú vị này hôm nay.

Android Architecture Component – Phần 2: Tìm Hiểu Về LiveData

Ở nội dung của bài hôm trước, mình đã cố gắng trình bày rõ ràng nhất cho các bạn hiểu về viên gạch đầu tiên trong hệ thống kiến trúc mới này của Android, viên gạch đầu tiên này có cái tên ViewModel.

Hôm nay chúng ta tiếp tục nói đến một hỗ trợ tuyệt vời khác của ViewModel, đó là việc chia sẻ dữ liệu giữa các Fragment. Và nói thêm một thành phần mới trong Android Architecture Component, giúp việc chia sẻ dữ liệu này được cập nhật theo thời gian thực giữa các Fragment, thành phần mới này có tên là LiveData.

Java Bài 42: Thread Tập 2 – Các Cách Thức Để Tạo Một Thread

Sau khi tập 1 về Thread ra lò, mình nhận được nhiều chia sẻ và phản hồi từ các bạn. Mình cảm nhận được mối quan tâm rất lớn của các bạn với kiến thức này. Điều này thật sự thú vị. Thực ra mình cũng từng rất thích thú khi tiếp cận với Thread. Tuy chỉ là một kiến thức nhỏ nhoi trong biển kiến thức Java, nhưng Thread như mang đến một làn gió mới, một khả năng mới để chúng ta xây dựng các ứng dụng đa nhiệm, mạnh mẽ, thiết thực hơn, tận dụng tối đa hiệu năng của hệ thống hơn. Và đặc biệt hơn nữa, sau khi biết đến Thread là gì, thì chúng ta đã có thể bắt tay vào tìm hiểu các kiến thức về xây dựng một game viết bằng Java được rồi đấy.

Vậy hôm nay, chúng ta sẽ tiếp tục củng cố cái sự quan tâm đối với Thread bằng cách đi cụ thể hơn về nó, chúng ta sẽ nói đến các cách thức để khai báo và khởi tạo một Thread.

Java Bài 41: Thread Tập 1 – Thread Và Các Khái Niệm

Thread hay Multithread đều có ý nghĩa như nhau trong kiến thức của bài học này. Thread dịch ra tiếng Việt là Luồng, và Multithread là Đa luồng. Luồng ở đây chính là Luồng xử lý của hệ thống. Và bởi vì lý do chính đáng để cho Thread ra đời cũng chính là để cho các ứng dụng có thể điều khiển nhiều Thread khác nhau một cách đồng thời, mà nhiều Thread đồng thời như vậy cũng có nghĩa là Đa Thread, hay Multithread. Chính vì vậy mà kiến thức Thread hay Multithread cũng chỉ là một.

Android Architecture Component – Phần 1: Tìm Hiểu Về ViewModel

Trong sự kiện Google I/O 2017 vừa qua (trước cả cái sự kiện Google I/O 2018 của năm nay nhé), nhóm Android Framework của Google có trình bày một kiến trúc mới cho các lập trình viên Android, kiến trúc mới này được gọi với cái tên Architechture Components. Kiến trúc bao gồm một tập hợp nhiều thư viện khác nhau, nhằm mang đến cho chúng ta, các lập trình viên Android, có được các công cụ cần thiết để thiết kế ra các ứng dụng mạnh mẽ, ổn định và dễ dàng bảo trì nhất.

Do có rất nhiều kiến thức liên quan đến kiến trúc mới này của Android, nên mình sẽ chia chúng ra làm nhiều phần để dễ trình bày và tiếp cận. Phần đầu tiên trong chuỗi bài viết này sẽ dẫn bạn đến với một khái niệm có tên ViewModel.