~/talk

A Concurrency Model for JavaScript with Cooperative Cancellation

Talkat SLE 2021 · 2021-10-17..10-18· [javascript]
name:Tian Zhao
links:none on file
links:none on file
slides:none on file

Library-based concurrency model exposes thread ID passed via a reader-monad wrapper so threads are functions returning Promises and can be cancelled, paused, resumed cooperatively. Synchronization uses MVars and Channels to protect shared state and enable hierarchical cancellation (cancel parent cancels children). Paper ships a formal semantics and a demo: a data‑streaming app with four threads and three channels (pause/resume per chart, single-stop kills all). Measured runtime shows significant sync overhead but negligible additional cost for asynchronous workloads.

AI-written summary · about

  1. 0:00Outline
  2. 1:55Motivation : concurrency error
  3. 3:45Motivation : Promise doesn't help
  4. 4:21Motivation : prevent concurrency error with locks
  5. 6:53Thread model : prevent concurrency error with locks
  6. 9:41Thread model:enable cancellation
  7. 10:47Thread model: cancel from another thread
  8. 11:37Application: data streaming
  9. 14:38Runtime overhead
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.