We've moved to Facebook! Follow us there!

Thursday, October 1, 2009

Synchronize your life? Ready! Set! STOP!

Most of my years in computers have been spent writing programs. Although I've not written an actual production application in the past 5 years, my mind still thinks in a computer program sort of way. One of the interesting concepts of programing is "Threads."

Threads, in computer programming, are independent streams of program execution. One "Thread" may weave together one sequence of logic, just like one single thread may weave together pieces of fabric in a dress. In computer programming, it is possible to have multiple threads running at the same time... just like a dress may have multiple threads holding different pieces of fabric together. Interlacing independent threads in the right way makes a computer program work just as interlacing fabric threads in the right way makes a dress stay together.

In the world of computers, threads sometimes have to rendezvous together to share information and/or be started or stopped to avoid thread collisions. One thread executed a certain piece of logic and has a part of the overall result, and another thread executed another piece of logic and has another part of the overall result. Or 2 different threads may have to execute the same piece of logic and that particular piece of logic was not designed to operate with 2 threads in it.

These junctions and rendezvous of threads is called synchronization.

Human beings are like threads. Each of us is operating independently, each of us collecting results along the way. But we must synchronize at various points. While driving the car, that synchronization often happens at stop lights. Some threads are halted while other threads are allowed to proceed. Another synchronization happens each morning at 9AM, when people are expected to be at work. Or at noon, when people are to have lunch.

It becomes more clear that time is a huge synchronization mechanism for us human beings. We coordinate around each other based on time. What were to happen if we became truly independent and didn't have to synchronize? Would you execute more efficiently if you didn't have synchronize? That is, what if time didn't matter... what if it didn't matter what time you did anything? Talk about extreme processing! You could just operate and you wouldn't have to wait on, or synchronize, with anyone else. You moved at your pace. No stop lights! :)

Living in our society, removal of all synchronization wouldn't be possible. However, how many synchronization points have you inserted that you really don't need?

A friend of mine always ran her dishwasher at 8AM. No matter what, that is what she did. She created an artificial stress on herself to have that damn thing going at 8AM. She always had clean dishes for the day, but she was always rushing in the morning to get all the chores done. I boldly suggested that rather than do it at 8AM, that she simply do it when her thread had vacancy.

She did this, and the results have been dramatic. Her dishes are still clean each day, but she has so much less stress in her life, she spends more time with her kids, and finds she can accomplish more chores in the day (she applied this principle to many parts of her life). Extreme example? Maybe, but do you have a dishwasher in your life?

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.