cps.h
来自「A Library of Efficient Data Types and Al」· C头文件 代码 · 共 58 行
H
58 行
/*******************************************************************************++ LEDA 4.5 +++ cps.h+++ Copyright (c) 1995-2004+ by Algorithmic Solutions Software GmbH+ All rights reserved.+ *******************************************************************************/// $Revision: 1.3 $ $Date: 2004/02/06 11:20:25 $// class for mutual exclusion using the CPS-library of the CONVEX#include <cps.h>#include <LEDA/std/errno.h>LEDA_BEGIN_NAMESPACEinline int get_thread_id() { return (int)cps_ktid(); }class leda_mutex { leda_mutex(const leda_mutex& m) { cps_mutex_alloc(&lock_);} leda_mutex operator=(const leda_mutex& m) { cps_mutex_alloc(&lock_); return *this; }public: leda_mutex() { cps_mutex_alloc (&lock_); } ~leda_mutex() { cps_mutex_free (&lock_); } void acquire() { cps_mutex_lock (&lock_); } void lock() { cps_mutex_lock (&lock_); } void enter() { cps_mutex_lock (&lock_); } void release() { cps_mutex_unlock (&lock_); } void unlock() { cps_mutex_unlock (&lock_); } void exit() { cps_mutex_unlock (&lock_); } int trylock() { return cps_mutex_trylock (&lock_); } int tryenter() { return cps_mutex_trylock (&lock_); } private: cps_mutex_t lock_;}; LEDA_END_NAMESPACE
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?