September 2017 Update

This commit is contained in:
Ingy döt Net 2017-09-23 10:01:46 +02:00
parent bba7bfd280
commit ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions

View file

@ -1,7 +1,7 @@
defmodule Events do
def log(msg) do
{h,m,s} = :erlang.time
:io.fwrite("~2.B:~2.B:~2.B => ~s~n",[h,m,s,msg])
time = Time.utc_now |> to_string |> String.slice(0..7)
IO.puts "#{time} => #{msg}"
end
def task do
@ -14,12 +14,14 @@ defmodule Events do
def main do
log("Program start")
pid = spawn(Events,:task,[])
{pid,ref} = spawn_monitor(__MODULE__,:task,[])
log("Program sleeping")
:timer.sleep(1000)
Process.sleep(1000)
log("Program signalling event")
send(pid, :go)
:timer.sleep(100)
receive do
{:DOWN,^ref,_,_,_} -> :task_is_down
end
end
end

View file

@ -0,0 +1,5 @@
Public Sub Timer1_Timer()
Print Str(Time(Now))
End

View file

@ -0,0 +1,16 @@
$timer = New-Object -TypeName System.Timers.Timer -Property @{Enabled=$true; Interval=1000; AutoReset=$true}
$action = {
$global:counter += 1
Write-Host “Event counter is ${counter}: $((Get-Date).ToString("hh:mm:ss"))”
if ($counter -ge $event.MessageData)
{
Write-Host “Timer stopped”
$timer.Stop()
}
}
$job = Register-ObjectEvent -InputObject $timer -MessageData 5 -SourceIdentifier Count -EventName Elapsed -Action $action
$global:counter = 0
& $job.Module {$global:counter}

View file

@ -0,0 +1,6 @@
var event=Atomic.Bool(); // False
// create thread waiting for event
fcn(event){event.wait(); println(vm," ping!")}.launch(event);
Atomic.sleep(1);
event.set();
println("done")