blob: a6610d08623420c3e56b1019b5b6abf6e2722043 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/usr/bin/env lsc
{ Worker } = require \webworker-threads
w = new Worker ->
# This also works, but less elegant:
# ``onmessage`` = (data: {max}) ->
@onmessage = (data: {max}) ->
:search for n from 2 to max
for i from 2 to Math.sqrt n
continue search unless n % i
postMessage { result: n }
throw \done
w.onmessage = (data: {result}) ->
console.log "#result is a prime"
w.onerror = ({data}) ->
console.log "Caught:", data
<~ setTimeout _, 100ms
@terminate!
w.postMessage max: 100
|