add ThreadPool (#926)

* lib/std/collections: fix tab indentation

Signed-off-by: Pierre Curto <pierre.curto@gmail.com>

* lib/std/threads: add ThreadPool

Signed-off-by: Pierre Curto <pierre.curto@gmail.com>

* ats/lib/threads: add num_cpu()

Signed-off-by: Pierre Curto <pierre.curto@gmail.com>

---------

Signed-off-by: Pierre Curto <pierre.curto@gmail.com>
This commit is contained in:
Pierre Curto
2023-08-14 15:33:51 +02:00
committed by GitHub
parent f912e53038
commit 65bea1cb2d
11 changed files with 333 additions and 34 deletions

View File

@@ -6,21 +6,21 @@ def Buffer = RingBuffer(<char, 4>);
fn void putc_getc()
{
Buffer rb;
rb.init();
rb.putc(1);
rb.putc(2);
rb.putc(3);
rb.putc(4);
Buffer rb;
rb.init();
rb.putc(1);
rb.putc(2);
rb.putc(3);
rb.putc(4);
assert(rb.getc(0) == 1);
assert(rb.getc(1) == 2);
assert(rb.getc(2) == 3);
assert(rb.getc(3) == 4);
assert(rb.getc(0) == 1);
assert(rb.getc(1) == 2);
assert(rb.getc(2) == 3);
assert(rb.getc(3) == 4);
rb.putc(5);
assert(rb.getc(0) == 2);
assert(rb.getc(1) == 3);
rb.putc(5);
assert(rb.getc(0) == 2);
assert(rb.getc(1) == 3);
assert(rb.getc(2) == 4);
assert(rb.getc(3) == 5);
}