Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #22224 > unrolled thread

History of JavaScript concurrency model

Started byoyvind.teig@gmail.com
First post2013-12-03 01:26 -0800
Last post2013-12-03 22:46 -0800
Articles 7 — 5 participants

Back to article view | Back to comp.lang.javascript


Contents

  History of JavaScript concurrency model oyvind.teig@gmail.com - 2013-12-03 01:26 -0800
    Re: History of JavaScript concurrency model Hans-Georg Michna <hans-georgNoEmailPlease@michna.com> - 2013-12-03 16:02 +0100
      Re: History of JavaScript concurrency model Christoph Michael Becker <cmbecker69@arcor.de> - 2013-12-03 16:20 +0100
        Re: History of JavaScript concurrency model Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-12-03 16:32 +0100
          Re: History of JavaScript concurrency model Øyvind Teig <oyvind.teig@gmail.com> - 2013-12-03 13:32 -0800
    Re: History of JavaScript concurrency model Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-12-03 16:29 +0100
      Re: History of JavaScript concurrency model Øyvind Teig <oyvind.teig@gmail.com> - 2013-12-03 22:46 -0800

#22224 — History of JavaScript concurrency model

Fromoyvind.teig@gmail.com
Date2013-12-03 01:26 -0800
SubjectHistory of JavaScript concurrency model
Message-ID<d75add6a-25f4-490c-86e5-76b29ab6baf5@googlegroups.com>
I was surprised to read about JavaScript's concurrency model [1] when I discovered striking similarities (or equalness?) with the internals of a scheduler I wrote for a small microcontroller in 1988 [2] (which still runs out there in tens of thousands):

<blockquote>"A JavaScript runtime contains a message queue, which is a list of messages to be processed. To each message is associated a function. When the stack is empty, a message is taken out of the queue and processed. The processing consists of calling the associated function (and thus creating an initial stack frame). The message processing ends when the stack becomes empty again." [1]</blockquote>

What is the history of JavaScript's concurrency model?

[1] - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop
[2] - http://www.teigfam.net/oyvind/pub/rtx-51/rtx-51.html#javascript

Øyvind Teig
Trondheim
Norway
http://www.teigfam.net/oyvind/home/technology/

[toc] | [next] | [standalone]


#22226

FromHans-Georg Michna <hans-georgNoEmailPlease@michna.com>
Date2013-12-03 16:02 +0100
Message-ID<ehsr99p7fc2fmn3h1og9elht332os6tq78@4ax.com>
In reply to#22224
Is it really called concurrency? To be precise, there is no
concurrence in JavaScript. It is single-threaded on
multi-processing machines.

Not sure about very modern variants though.

Hans-Georg

[toc] | [prev] | [next] | [standalone]


#22227

FromChristoph Michael Becker <cmbecker69@arcor.de>
Date2013-12-03 16:20 +0100
Message-ID<529df6b8$0$6636$9b4e6d93@newsspool2.arcor-online.net>
In reply to#22226
Hans-Georg Michna wrote:

> Is it really called concurrency? To be precise, there is no
> concurrence in JavaScript. It is single-threaded on
> multi-processing machines.
> 
> Not sure about very modern variants though.

There are web workers[1], which enable some form of multi-threading.

[1] <http://en.wikipedia.org/wiki/Web_worker>

-- 
Christoph M. Becker

[toc] | [prev] | [next] | [standalone]


#22229

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2013-12-03 16:32 +0100
Message-ID<1685836.TKPmUk3CTP@PointedEars.de>
In reply to#22227
Christoph Michael Becker wrote:

> Hans-Georg Michna wrote:
>> Is it really called concurrency? To be precise, there is no
>> concurrence in JavaScript. It is single-threaded on
>> multi-processing machines.
>> 
>> Not sure about very modern variants though.
> 
> There are web workers[1], which enable some form of multi-threading.
> 
> [1] <http://en.wikipedia.org/wiki/Web_worker>

They are a part of the HTML5 DOM/Web Applications API, though.

-- 
PointedEars

Twitter: @PointedEars2
Please do not Cc: me. / Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#22232

FromØyvind Teig <oyvind.teig@gmail.com>
Date2013-12-03 13:32 -0800
Message-ID<bb795870-873a-4add-b50d-9d519664629c@googlegroups.com>
In reply to#22229
Thanks! This is a general comment to all of you.

Some seem to call this "concurrency". Of course that's not the same as "parallel", so it's ok that the activities just feel concurrent. I have written some blogs about this, trying to understand "event-loop/callback/futures"-type concurrency used in (it seems JavaScript) and Scala etc. Pick any one from the top of this list: http://www.teigfam.net/oyvind/home/technology/ - and I do take comments!

I agree that that page needs a rewrite anyhow. Especially the "Never blocking" section, which needs to severely limit scope. Blocking is bad with some "process models", but even good with others. Read my blogs, they are full of that stuff.

But where are the history guys?-)

Øyvind

kl. 16:32:02 UTC+1 tirsdag 3. desember 2013 skrev Thomas 'PointedEars' Lahn følgende:
> Christoph Michael Becker wrote:
> 
> 
> 
> > Hans-Georg Michna wrote:
> 
> >> Is it really called concurrency? To be precise, there is no
> 
> >> concurrence in JavaScript. It is single-threaded on
> 
> >> multi-processing machines.
> 
> >> 
> 
> >> Not sure about very modern variants though.
> 
> > 
> 
> > There are web workers[1], which enable some form of multi-threading.
> 
> > 
> 
> > [1] <http://en.wikipedia.org/wiki/Web_worker>
> 
> 
> 
> They are a part of the HTML5 DOM/Web Applications API, though.
> 
> 
> 
> -- 
> 
> PointedEars
> 
> 
> 
> Twitter: @PointedEars2
> 
> Please do not Cc: me. / Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#22228

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2013-12-03 16:29 +0100
Message-ID<4838648.5T39TNAdC9@PointedEars.de>
In reply to#22224
oyvind.teig@gmail.com wrote:

> I was surprised to read about JavaScript's concurrency model [1] […]
> [1] -
> [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop

| This article is in need of a technical review.

HTH

-- 
PointedEars

Twitter: @PointedEars2
Please do not Cc: me. / Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#22235

FromØyvind Teig <oyvind.teig@gmail.com>
Date2013-12-03 22:46 -0800
Message-ID<90dbe1f2-e44d-45c4-b2d2-bfb4768239ea@googlegroups.com>
In reply to#22228
What's the procedure to be able to come with suggestions to the editor? Or is it just "an editor", like on Wikipedia?

kl. 16:29:29 UTC+1 tirsdag 3. desember 2013 skrev Thomas 'PointedEars' Lahn følgende:
> Øyvind teig wrote: > I was surprised to read about JavaScript's concurrency model [1] […] > [1] - > [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop | This article is in need of a technical review. HTH -- PointedEars Twitter: @PointedEars2 Please do not Cc: me. / Bitte keine Kopien per E-Mail.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.javascript


csiph-web