I just came home from vacation to find the first three members
of the cheapthreads group, other than myself. Perhaps it's
time to introduce ourselves.
I wrote the Cheap Threads library for a hobbyist project, just
for fun.
It started when I downloaded a version of Zork for my daughter
to play. Zork is an old, text-based game, similar to the
classic Adventure game. She loved it. She also loved to
write, and I thought she might like to be able to create her
own Adventure-style games.
However, she doesn't know how to program, and doesn't care
to learn. I would have to create a mini-language for defining
the dungeon, the objects to collect, and so forth.
That part seemed fairly straightforward to do, and I set to work.
However another idea occurred to me. While the player wandered
around in the dungeon, I wanted other things to be happening
in the background, out of sight. The pirate would wander from
room to room. The dragon would wake up, and start to get
hungry. The water would slowly drain from the lake.
In order to make that kind of thing possible, but definable at
run time by a text file, I needed some form of multithreading.
Since I was writing for MS-DOS (I haven't the courage to write
for Windows), and I didn't want to spend money on a commercial
multithreading package, I would have to provide the
multithreading myself.
Without quite knowing what I was doing, I started to add
multithreading. However, the multithreading code became
all tangled up with logic that was highly specific to the
game project. Things were getting messy.
Finally I realized that multithreading had nothing to do
with Adventure-style games. It is a far more general
abstraction. I needed a separate layer of generic
multithreading code, cleanly separated from the game logic.
Thus was Cheap Threads born.
My daughter lost interest in Zork, and I lost interest in
the game project, but the multithreading code remained.
Cheap Threads is nothing like the kind of programs I write
on my job, and so far I have had no real use for it, but I
thought that someone else might find it useful -- so I
posted it on my website.
If you've joined this group, you presumably have some
interest in Cheap Threads, and I'm curious to know, for
example:
1. Are you using Cheap Threads (or planning to)?
2. What sort of application are you using Cheap Threads for
(or considering it for)?
3. Are you more interested in the standard version or
the embedded version?
4. Have you found it necessary or useful to extend Cheap
Threads, or modify it, for your purposes? If so, how?
5. Have you encountered any bugs, or annoying limitations?
6. What features of Cheap Threads make it particularly
attractive (or unattractive) to you?
7. Are there any new features or extensions that you'd
like to see added?
This is not a questionnaire, just a request for feedback.
If Cheap Threads were a commercial product, you could say
I'm doing some market research. Or you could say I'm
trying to get the discussion started. I hope to hear
from you soon.
Scott McKellar mck9@...
http://home.swbell.net/mck9/ct/