#include "synch-sleep.h"
class Table
{
public:
Table(int size); // create a table to hold at most 'size' entries.
~Table(); //析构函数
// allocate a table slot for 'object'.
// return the table index for the slot or -1 on error.
int Alloc(void *object);
// return the object from table index 'index' or NULL on error.
// (assert index is in range). Leave the table entry allocated
// and the pointer in place.
void *Get(int index);
// free a table slot
void Release(int index);
private:
Lock *lock;
int* L; //
int* value; //value[0..S-1]:each value in the table
int S; //the size of table
};