From 96a3c5c179d8d3fff24eb2953e45f8dd15e2714c Mon Sep 17 00:00:00 2001 From: HJ Date: Sat, 3 Feb 2024 15:09:54 -0500 Subject: cleanup --- .../build/packages/gleam_otp/src/gleam_otp.gleam | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 aoc2023/build/packages/gleam_otp/src/gleam_otp.gleam (limited to 'aoc2023/build/packages/gleam_otp/src/gleam_otp.gleam') diff --git a/aoc2023/build/packages/gleam_otp/src/gleam_otp.gleam b/aoc2023/build/packages/gleam_otp/src/gleam_otp.gleam new file mode 100644 index 0000000..69cdd5b --- /dev/null +++ b/aoc2023/build/packages/gleam_otp/src/gleam_otp.gleam @@ -0,0 +1,27 @@ +import gleam/io +import gleam/int +import gleam/list +import gleam/otp/task +import gleam/erlang/process.{type Pid} + +@external(erlang, "gleam_otp_test_external", "get_message_queue_length") +fn get_message_queue_length(pid pid: Pid) -> Int + +fn spawn_task(i) { + task.async(fn() { + case i % 500 == 0 { + True -> io.println("Hello from " <> int.to_string(i)) + False -> Nil + } + }) +} + +pub fn main() { + io.debug(get_message_queue_length(process.self())) + + list.range(0, 1_000_000) + |> list.map(spawn_task) + |> list.each(task.await_forever) + + io.debug(get_message_queue_length(process.self())) +} -- cgit v1.2.3