CodeGym
AI Academy
Khuyến mãi
CodeGym University
Học tập
Khóa học
Bài tập
Khảo sát & Bài kiểm tra
Trò chơi
Trợ giúp
Lịch
Cộng đồng
Người dùng
Diễn đàn
Trò chuyện
Bài viết
Câu chuyện thành công
Hoạt động
Đánh giá
Gói đăng ký
Chủ đề sáng

Bài học

  • Đánh giá
  • Về chúng tôi
Bắt đầu
Bắt đầu học
Bắt đầu học ngay
  • Tiến độ của tôi
  • Khóa học
  • Bản đồ Quest
  • Bài học
  • Giới thiệu về tính song song

    JAVA 25 SELF
    Cấp độ 54,Bài học 0
    Trong bài giảng này, chúng ta phân tích sự khác biệt giữa đa luồng và tính song song: khi nào quan trọng là tính phản hồi, và khi nào là tăng tốc thực sự trên nhiều lõi. Sẽ thảo luận việc tạo luồng bằng Thread, triển khai Runnable và các pool cấp cao ExecutorService, xem một ví dụ đơn giản về cộng mảng, phân tích khi nào tính song song giúp ích và khi nào gây hại, cũng như các vấn đề điển hình: race condition, đồng bộ hóa bằng synchronized, deadlock và cân bằng tải. Cuối cùng — bảng so sánh và trực quan hóa các kịch bản.
    Có sẵn
  • ExecutorService, Callable, Future: chạy tác vụ

    JAVA 25 SELF
    Cấp độ 54,Bài học 1
    Thực hành đa luồng một cách bài bản: chuyển giao tác vụ cho ExecutorService thay vì tự tạo Thread, quản lý pool, hàng đợi và vòng đời ( shutdown(), shutdownNow()). Phân tích sự khác nhau giữa Runnable và Callable<T>, lấy kết quả qua Future và các phương thức của nó ( get(), isDone(), cancel(...), isCancelled()). Trình diễn cách chạy nhiều tác vụ, invokeAll/ invokeAny, xử lý ExecutionException và các lỗi điển hình.
    Có sẵn
  • Stream song song: cú pháp và ứng dụng

    JAVA 25 SELF
    Cấp độ 54,Bài học 2
    Tìm hiểu cách chuyển một luồng dữ liệu thông thường sang xử lý song song chỉ bằng một dòng — qua parallelStream() hoặc .parallel(), những gì diễn ra bên dưới trong ForkJoinPool.commonPool(), khi nào tính song song thực sự tăng tốc tính toán (bộ sưu tập lớn, thao tác “nặng”) và khi nào nó có thể làm chậm. Chúng tôi sẽ đưa ra ví dụ về lọc, tổng hợp, sắp xếp, đo hiệu năng và phân tích các lỗi điển hình: tác dụng phụ trong forEach, giữ thứ tự, lựa chọn collection và cấu hình mức độ song song.
    Có sẵn
  • ForkJoinPool và RecursiveTask: các tác vụ đệ quy

    JAVA 25 SELF
    Cấp độ 54,Bài học 3
    Hướng dẫn thực hành về tính toán song song trong Java: cách hoạt động của bộ chứa tác vụ ForkJoinPool và các tác vụ đệ quy RecursiveTask<T>/ RecursiveAction, vì sao thuật toán work-stealing hữu ích, cách chia nhỏ tác vụ bằng fork() và hợp nhất kết quả với join() bên trong compute(). Chúng ta sẽ xem cách chạy qua pool.invoke(), ví dụ tính tổng mảng và tìm giá trị lớn nhất, vai trò của ForkJoinPool trong parallelStream(), cũng như các lỗi thường gặp và cách tránh chúng.
    Có sẵn
  • Các thực tiễn tốt nhất cho lập trình song song

    JAVA 25 SELF
    Cấp độ 54,Bài học 4
    Hướng dẫn thực hành về lập trình song song trong Java: khi nào nên dùng ExecutorService, nơi parallelStream hữu ích, và cho những tác vụ nào cần ForkJoinPool. Bàn về tính an toàn luồng với ConcurrentHashMap/ CopyOnWriteArrayList và các lớp nguyên tử ( AtomicInteger), đo hiệu năng bằng System.nanoTime() và JMH, xử lý lỗi từ Future.get() và ForkJoinTask, phản ứng đúng với InterruptedException, cũng như mẹo ghi log ( Thread.currentThread().getName()) và kiểm thử ( Awaitility). Cuối cùng — bảng chọn công cụ và các lỗi thường gặp.
    Có sẵn
Học
  • Đăng ký
  • Khóa học Java
  • Trợ giúp bài tập
  • Bảng giá
  • Cú pháp Java
Cộng đồng
  • Người dùng
  • Bài viết
  • Diễn đàn
  • Trò chuyện
  • Câu chuyện thành công
  • Hoạt động
  • Chương trình giới thiệu
Công ty
  • Về chúng tôi
  • Liên hệ
  • Đánh giá
  • Phòng báo chí
  • CodeGym cho EDU
  • Câu hỏi thường gặp
  • Hỗ trợ
CodeGymCodeGym là một khóa học trực tuyến để học lập trình Java từ đầu. Khóa học này là cách hoàn hảo để nắm vững Java cho người mới bắt đầu. Nó chứa 1200+ bài tập với kiểm tra ngay lập tức và phạm vi lý thuyết cơ bản cần thiết về Java. Để giúp bạn thành công trong học tập, chúng tôi đã triển khai một bộ tính năng tạo động lực: bài kiểm tra, dự án lập trình, nội dung về phương pháp học hiệu quả, và hỗ trợ sự nghiệp lập trình viên Java.
Theo dõi chúng tôi
Ngôn ngữ giao diện
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский
Vietnamese
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym
MastercardVisa
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym