Libdll یک لایبرری برای زبان برنامهنویسی C است که ساختار نوشتن برنامههایی که به صورت متقارن و همزمان اجرا میشوند را برای دولوپرهای این زبان راحتتر میکند.
به عنوان مثال، کد زیر دو فانکشن که متشکل از دو عبارت Hello و !World هستند را نمایش میدهد (این دو عبارت به ترتیب و در فواصل زمانی تصادفی به نمایش در میآیند). این برنامه به مدت پنج ثانیه اجرا میشود و سپس پایان مییابد:
#include
#include
#include
coroutine void worker(const char *text) {
while(1) {
printf("%s\n", text);
msleep(now() + random() % 500);
}
}
int main() {
go(worker("Hello!"));
go(worker("World!"));
msleep(now() + 5000);
return 0;
}
کدهای نوشته شده با استفاده از لایبرری Libdill مانند هر کد C دیگر، کامپایل میشوند و تنها مورد اضافی که به آن نیاز پیدا خواهید کرد این است که باید با لایبرری libdll ارتباط برقرار شود. برای این منظور داریم:
$ cc -ldill -o hello hello.c
Libdll تحت لیسانس MIT/X11 منتشر شده است و به منظور آشنایی بیشتر با آن میتوانید به مستندات لایبرری Libdll مراجعه نمایید.