Skip to content

Java Threading Course

enki-hq edited this page Jan 29, 2019 · 2 revisions

Threading Course Overview

Table of Contents

Content

Below you can find the ordered content of the topic, in a linear progression

The linear progression of content aims to cover all content, course by course, workout by workout as follows:

  • first course is the only core one, denoted by its manifest
  • the next course is denoted by the first item of the next array in each course manifest
  • each course has its order of workouts designated by the sections field in the same aforementioned manifest

Insights:

no name content aspects standards PQ RQ Quiz done
1 threading 💪 workout
🦑 deep
2 implementing-the-runnable-interface 💪 workout
🦑 deep
3 extending-thread-class 💪 workout
🦑 deep
4 thread-sleep 💪 workout
🦑 deep
5 using-thread-join 💪 workout
🦑 deep

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 thread-sleep-and-thread-yield-do-not-have-synchronization-mechanisms 💪 workout
🦑 deep
2 multithreading-use-local-variables 💪 workout
🦑 deep
3 multithreading-minimize-locking-scope 💪 workout
🦑 deep
4 why-use-volatile-long-or-double 💪 workout
🦑 deep

Exercises:

⚠️ There are no insights in this workout.

Game:

name type aspects standards done
thread-safe tetris 💪 workout
🦑 deep

Insights:

no name content aspects standards PQ RQ Quiz done
1 thread-synchronization 💪 workout
🦑 deep
2 using-synchronized-statements 💪 workout
🦑 deep
3 synchronization-methods 💪 workout
🦑 deep
4 semaphores 💪 workout
🦑 deep
5 monitors 💪 workout
🦑 deep

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 more-on-synchronization 💪 workout
🦑 deep
2 declaring-volatile-variables 💪 workout
🦑 deep
3 final-fields-do-not-need-to-be-read-through-synchronized-methods 💪 workout
🦑 deep
4 thread-interruptions 💪 workout
🦑 deep
5 use-thread-pool-executors 💪 workout
🦑 deep

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 deadlocks 💪 workout
🦑 deep
2 deadlock-prevention 💪 workout
🦑 deep
3 how-to-avoid-a-deadlock 💪 workout
🦑 deep
4 deadlock-dynamic-avoidance 💪 workout
🦑 deep
5 detection-and-recovery 💪 workout
🦑 deep

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Aspects

Given the insights are tagged with aspects, we can filter over the linear content progression and create learning sub-paths.

These sub-path progressions will most likely not cover all content, but they will ensure and enforce an unified learning experience, tailor for the user wish.

For example, a user might be interested in new additions and updates of a language, rather than introduction lessions. Note that these sub-paths don't take games into consideration

👶 Introduction

If you are being introduced to the topic for the first time

⚠️ There are no insights tagged with this aspect in threading. :warning: There are no exercises tagged with this aspect in threading. :warning: There are no games tagged with this aspect in threading.

💪 Workout

Theory put into practice/that’s how you achieve X points

Insights:

  1. threading
  2. implementing-the-runnable-interface
  3. extending-thread-class
  4. thread-sleep
  5. using-thread-join
  6. thread-sleep-and-thread-yield-do-not-have-synchronization-mechanisms
  7. multithreading-use-local-variables
  8. multithreading-minimize-locking-scope
  9. why-use-volatile-long-or-double
  10. thread-synchronization
  11. using-synchronized-statements
  12. synchronization-methods
  13. semaphores
  14. monitors
  15. more-on-synchronization
  16. declaring-volatile-variables
  17. final-fields-do-not-need-to-be-read-through-synchronized-methods
  18. thread-interruptions
  19. use-thread-pool-executors
  20. deadlocks
  21. deadlock-prevention
  22. how-to-avoid-a-deadlock
  23. deadlock-dynamic-avoidance
  24. detection-and-recovery

⚠️ There are no exercises tagged with this aspect in threading. Games:

  1. thread-safe

🦑 Deep

Prerequisite knowledge consisting of 2 or more 👶/💪 workouts

Insights:

  1. threading
  2. implementing-the-runnable-interface
  3. extending-thread-class
  4. thread-sleep
  5. using-thread-join
  6. thread-sleep-and-thread-yield-do-not-have-synchronization-mechanisms
  7. multithreading-use-local-variables
  8. multithreading-minimize-locking-scope
  9. why-use-volatile-long-or-double
  10. thread-synchronization
  11. using-synchronized-statements
  12. synchronization-methods
  13. semaphores
  14. monitors
  15. more-on-synchronization
  16. declaring-volatile-variables
  17. final-fields-do-not-need-to-be-read-through-synchronized-methods
  18. thread-interruptions
  19. use-thread-pool-executors
  20. deadlocks
  21. deadlock-prevention
  22. how-to-avoid-a-deadlock
  23. deadlock-dynamic-avoidance
  24. detection-and-recovery

⚠️ There are no exercises tagged with this aspect in threading. Games:

  1. thread-safe

✨ New

Recently added/gained traction feature

⚠️ There are no insights tagged with this aspect in threading. :warning: There are no exercises tagged with this aspect in threading. :warning: There are no games tagged with this aspect in threading.

🔮 Obscura

Stories, obscure details that don’t specifically relate to a learning objective

⚠️ There are no insights tagged with this aspect in threading. :warning: There are no exercises tagged with this aspect in threading. :warning: There are no games tagged with this aspect in threading.

✅ All content has been tagged with aspects.

Clone this wiki locally