libtask
libtaskはチャネルにも対応している。ということで、Limboで書いたエラトステネスのふるいをC + libtaskで書き直してみた。Plan9日記では何度もチャネルを取り上げているが、チャネルはタスク間でメッセージをやり取りするための通信手段を提供する。chancre…
libtaskの例として、httpdを書いてみた。200行ぐらいだけど、コアの部分はこんな感じ。fdread/fdwriteはノンブロッキングI/Oなんだけど、普通のシングルスレッドプログラムのようにselectループを書く必要がない。どうなっているかというと、libtask内部でス…
Russ Coxさんが作ったコルーチンライブラリlibtaskを試してみた。雰囲気はPlan9のlibthreadによく似ている。対応している環境は、Linux (ARM and x86)、FreeBSD (x86)、OS X (PowerPC and x86)、SunOS Solaris (Sparc)とのことだ。コルーチンはプログラマが…