#include <thread.h> int sema_trywait(sema_t *sp);
sema_trywait() は、sp が指すセマフォの値が 0 より大きい場合、原子的操作によって 1 減らします。この関数はブロックしない点を除いて、sema_wait() と同じ働きをします。