lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Tue, Jun 21, 2016 at 1:37 PM, Gregg Reynolds <dev@mobileink.com> wrote:
>
> On Jun 21, 2016 3:31 PM, "Coda Highland" <chighland@gmail.com> wrote:
>>
>> On Tue, Jun 21, 2016 at 1:27 PM, Gregg Reynolds <dev@mobileink.com> wrote:
>> >
>> > On Jun 21, 2016 3:02 PM, "Coda Highland" <chighland@gmail.com> wrote:
>> >>
>> >> On Tue, Jun 21, 2016 at 12:45 PM, Gregg Reynolds <dev@mobileink.com>
>> >> wrote:
>> >> >
>> >> > On Jun 21, 2016 10:45 AM, "Roberto Ierusalimschy"
>> >> > <roberto@inf.puc-rio.br>
>> >> > wrote:
>> >> > ...
>> >> >> Right: couroutine is a specific use case of a Lua thread. As it is
>> >> >> the
>> >> >> only use of threads inside Lua code, we can say that, looking from
>> >> >> Lua,
>> >> >> coroutine = thread.
>> >> >
>> >> > Is it correct to say that a Lua thread is a fiber?  I.e. not an OS or
>> >> > pthread?
>> >> >
>> >> > - gregg
>> >>
>> >> Yes, that could be considered accurate, as fibers are a
>> >> cooperative-multitasking construct.
>> >>
>> >
>> > the amazingly cool thing is that we can have cooperative multitasking
>> > even
>> > with a single sequential thread of execution.  magic.  kinda makes you
>> > rethink your concept of execution,  thread, etc.
>>
>> The fun part is when you realize that before Windows 95, the entire
>> Windows operating system was cooperatively multitasked, and apps were
>> expected to yield quickly when awakened by the OS.
>>
> MS-DOS: the Original Embedded System.

MS-DOS wasn't even cooperatively multitasked. It was TECHNICALLY
preemptively multitasked, in that triggering a TSR through an
interrupt routine could happen at effectively arbitrary times in
program flow, but there was no timesharing and the TSR would have to
clean itself up and return control to the original program on its own.

/s/ Adam