My (lack of )wisdom about threads
So, inspired by ?Swing application architecture question.?, here is
my (lack of )wisdoms about threads:
- To correctly use multi-threading, a special education is needed.
I do not yet have taken the time to undergo this, so I need
to refrain from using threads (that is, more than one thread).
- However, Java might force me to use threads, e.g., when using
Swing. So I /will/ use multi-threading when being forced to,
but take care only to use code patterns from common Swing
examples and not do own inventions in this realm.
Recently, I read something I liked very much. So, whenever I
would start to do own inventions in multi-threading, my first
step would be to follow this advice:
?As much as possible, prefer to keep each thread's data
isolated (unshared), and let threads instead communicate
via asynchronous messages that pass copies of data.?
http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=215900465
Does anyone else like this advice?
So, when I should ever start to use threads in Java beyond
what I am forced to do, I'd implement a message-passing
framework/library/pattern for my threads first.
I do not know if this remark would be helpful for the ?Swing
application architecture question.?, but since I am aware that
I do not yet know enough about threads in Java to give any
advice to anyone else, I did not dare to post into that thread
[no pun intended].
But I wonder whether a communication between a view and a
model that live in different threads can also be made robust
by basing this communication on such messages.