In Search of Abstraction
A thread is created
To execute a single job
To become a server for jobs
A job may require arguments and
A server requires a queue of jobs
Shared data, synchronization objects
These are all data structures!
Putting data first is the basis of object-oriented philosophy. Where there’s thread, there’s always a data structure behind it. So let’s start with a data structure.