Have not written in a few days. On Sunday I tried to meet for the
first time with a study group. The meet from 9am to 1pm. 9-11 is for
a different test. On Sunday they got together and a few members were
not available. They ended up canceling but forgot to tell me. I
tried to attend but entering the online meeting place continued to
fail. I got a call later that evening from the coordinator but did
not actually talk with him. I emailed him later.
At any rate, Our first meeting was to talk about concurrency and
deadlock. I am finding that these terms have multiple meetings
depending on context. If you get the context wrong you could end up
with a definition that is not correct. That could be why I had a
problem on the test. Deadlock has been a question on every test I have
taken for the PhD, Database, Operation Systems and now Software
Engineering. All the definitions are about the same principal but
need to be written in the form of the question being ask. It looks
like I have been writing a generic answer that does not fit what the
authors of the test want. So, I will have to be more specific. For
instance I should probably use the word thread rather than the word
process in the definition. The term deadlock could be applied to both
but in this instance thread is more tightly coupled with the context
of the entire question on concurrency. I have developed a Java
example of deadlock. This was pretty difficult actually. Java must
have some stuff under the covers that does some deadlock avoidance.
Resource ordering or token-based. In early Java books I see these
things in implementation. In later books I do not. So it was
difficult to get the timings. Maybe it is just a timing thing. The
threads don`t yield to other threads often enough to demonstrate the
problem in such a small program. I had to add sleeps etc. to make the
deadlock easier to see and consistent in its failure.
So my lesson to learn hear is don`t take answers that you have already
done for other exams. Re-do the questions with answers from the
reading list. If you cannot find a term on the reading list then
continue on to other book. Otherwise, you may end up with a to
generic answer for the grader of the exam to give you credit.
One more thing, I have been looking at current exam study guides. It
has been interesting to me to see answers pop into my head from 2003
exam study guides as I write answers to the questions on the 2005
study guides. One of the questions from the Fall 2003 study guide
talks about baulking strategies. This was a question that I could not
find when doing that exam study. I did find something about baulking
recently. This one is tough to find. It is under monitors and not
under deadlock or threads. I think that it is interesting to note
that the authors of the books chose to put it under monitors but the
authors of the test chose to put it in a question about threads and
concurrency. They seem to be the same topic but are presented
separately in my books. Now why is that? Well I have it now.
Good news, I was added to a patent that my company is doing. I have
been involved with patents in the past. This is the first one that I
think will actually be granted and have my name on it. I was in on
the initial discussion and I think that I shaped the conversation
about the patent. It turns out that they think that I did also. I
have worked on the code for this project since the beginning. It is
nice that someone thinks that I am also included in the group of
people called the inventors.
For my study group I setup skype to call into the conference call. It
worked great. I have a logitech microphone that has an on off button
and I was able to make calls. 14.95 for a year of free calls to
anyone in the US. Wow. It works well with my study process. I will
be able to set at my workstation and listen/talk without holding up the
phone line hear at the house. I have the ability to hold. I don`t
have a callback number but also don`t need one. It works great.