The Java BlockingQueue interface represents a queue which can block threads from inserting into a full queue, or block threads from dequeuing from an empty queue.
In this tutorial I explain 3 common methods for preventing deadlock occurring. I have also made a video version of this tutorial.
Deadlock is when two or more threads end up blocked indefinitely waiting for each other to release resources they need to lock to do their job. I have updated the Deadlock tutorial.
The Java ExecutorService is a thread pool built into Java. I have update the Java ExecutorService tutorial, including added a new video version of this tutorial.
I have updated my JavaFX TableView tutorial to explain how to make table cells editable.
The Java Lock interface represents an lock which can make sure only one thread can lock it at a time - similarly to how a Java synchronized blocks works - only more flexible.
Thread pools are an alternative to creative one thread per task to execute. In this thread pool tutorial I explain how thread pools work, as well as how to implement your own in Java. I have also added a video version of this tutorial.
You can apply transformations such as rotation, translation and scaling to all JavaFX controls. This JavaFX transformations tutorial explains how JavaFX transformations work.
The JavaFX Button class provides a button that users of your JavaFX app can click on. I have updated my JavaFX Button tutorial to explain how to use a Button from within JavaFX FXML.
Concurrency and parallelism are two similar, yet different concepts. I have rewritten this tutorial to better explain the difference between concurrency and parallelism - plus I have added a video version of this tutorial.