If you are like me then you like to get a lot of things done during the day and with that I have always loved automation and the possibility of doing two things at once. The thought of having some other machine do a mundane task for me really appeals to me and is part of the reason I became a programmer. To me a machine could be so much more, I could tell it what to do and it would go do it. I could give it some parameters to stay with in and it would follow them. Automation makes these things possible. Like watering your lawn for example. If you have a simple timer on your irrigation system you don’t physically have to go start the water the timer will do it for you. It is that sense of getting more than one thing done in the same time frame at the heart of multithreading. Just about every programmer out there has heard of multithreading, and if you haven’t then you are living under a rock and need to check it out.
The general idea behind multithreading is the tasks that need to be completed don’t necessarily need to be done in any particular order they just need to get done. I can have two functions of a program that can run asynchronously and it doesn’t really matter which one gets done first. It is the same in the real world. It doesn’t really matter if I water the lawn at 6 a.m. or 9 a.m. It just needs to be done and while it is happening I am free to make breakfast. I started looking at things I could do to get more done during the day. Simple things like writing my to-do list while my computer was starting up or skimming an article I was meaning to read while my code compiled. These simple little things made me feel like I was getting more accomplished in the same amount of time.
One of the easiest ways of creating a multithread life that have I found was to listen to audio books while commuting. Last fall I had a long drive with my family and decided to find a fiction novel to listen to while on the road. I had been listening to audio books on my commute to work prior to this trip, but this was going to be a 4 hour drive one way so I figured I would make the best of it. I found a book that everyone in my family would enjoy and we started our trip and listened to the book on the way. Listening to audio books while you commute is a great way to have a multithread life. You can listen to that self help book you have been meaning to read or really any thing you enjoy. One thing I do recommend is to change it up often. If you listen to self improvement books stick in an occasional fiction or vice versa. Just in the time I have been doing this, I have found that my brain can only process so much of one type of content at length. Meaning if I listen to three self improvement books in succession I get less and less out of the latter books. You need to “clean the pallet” so to speak.
There is a danger in multithreading your life too much. Distraction; is something you should always be aware of. It is extremely easy to get distracted while reading your article and not go back to your code after it is done compiling. You start reading and find something interesting and want to research it further so instead of gong back to your code you spend 30 minutes looking up other interesting articles. So you must be disciplined enough to only take on what you can do in the limited time you have. Compiling a small program will not take that long and it may not be worth the time to switch to something else while the code compiles. Larger programs will take more time so you may have a few minutes to skim that article. Just make sure you return to your code after you are done.
So I know what you are thinking. Isn’t Multithreading just the same as multitasking? The simple answer is no. They really are two different things. Multitasking means I physically may be trying to do two things at once. With multithreading I am using automation to help do more in the same time frame. But what about listening to audio books while you drive? The truth is driving is more of an automatic thing for the driver. You are using less of your brain than you would be trying to multitask. Listening to a book in the car is more like listening to music while you drive. Your brain can handle this kind of multithreading. Studies have shown that your brain really can’t multitask.
One other suggestion is to keep the multithreading to manageable chunks. Don’t try to do to much or you will burn out. Start with one thing like audio books during your commute and make it a habit. After a few weeks you will be able to add another new thread to your life. Focus is key and keeping the changes small especially at first gives you a better chance to succeed. We all know we have a limited number of hours during the day. Multithreading you life can help make the most of the time we are given each day.
What things can you multithread in your life?