lock.h

来自「A Library of Efficient Data Types and Al」· C头文件 代码 · 共 74 行

H
74
字号
/*******************************************************************************++  LEDA 4.5  +++  lock.h+++  Copyright (c) 1995-2004+  by Algorithmic Solutions Software GmbH+  All rights reserved.+ *******************************************************************************/// $Revision: 1.3 $  $Date: 2004/02/06 11:20:27 $LEDA_BEGIN_NAMESPACEclass rw_lock{public:  rw_lock() : number(0) {} ~rw_lock() {};  void acquire_write();  void writer_enter();  void acquire_read();  void reader_enter();  void release_write();  void writer_exit();  void release_read();  void reader_exit();/*int tryenter();*/private:  leda_mutex lock1, lock2, helplock;  int number;     };class read_guard {public:  read_guard (rw_lock& l) : rw_lock_(l) { rw_lock_.acquire_read(); } ~read_guard() { rw_lock_.release_read(); }private:  rw_lock& rw_lock_;};         class write_guard {public:  write_guard (rw_lock& l) : rw_lock_(l) { rw_lock_.acquire_write(); } ~write_guard() { rw_lock_.release_write(); }private:  rw_lock& rw_lock_;}; LEDA_END_NAMESPACE

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?