Friedger <[EMAIL PROTECTED]> writes:

> Even within one applet you can have more threads by using {after 0s
> ....}.This works as there is nearly everything is event based.
> However you can't create threads manually.

Actually, using {after 0s do ...} doesn't use another thread; the code
inside the {after 0s do} block is executed inside the applet thread.
It uses an Alarm to perform this scheduling.

The other curl API for scheduling operations is Timer, which is also
written using Alarm.

Alarms are executed by curl during an applet's event processing loop,
so they are cooperatively scheduled with the rest of the code in the
applet.  If an applet does a lot of computation without calling
{dispatch-events}, it will "starve" the alarm event queue and no
alarms in that applet will fire.

(Friedger, maybe you already knew this since you mention it being
event based, but I thought I'd try to clear up the distinction between
event based and thread based execution.)

-phil

*******************************************
To unsubscribe from this list, send a mail to:
mailto:[EMAIL PROTECTED]
To contact a human list administrator, send a mail to:
mailto:[EMAIL PROTECTED]
To recieve a list of other options for this list, send a mail to:
mailto:[EMAIL PROTECTED]

Reply via email to