Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev/v3.1.1 #18

Merged
merged 12 commits into from
Mar 7, 2018
Prev Previous commit
Next Next commit
调整 ReferencePool 以便于调试
  • Loading branch information
Jiang Yin committed Feb 5, 2018
commit 1cef95745c6637c4942c6df903f86eb0b3eec30d
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,17 @@ private sealed class ReferenceCollection
{
private readonly Queue<IReference> m_References;
private int m_UsingReferenceCount;
private int m_AcquireReferenceCount;
private int m_ReleaseReferenceCount;
private int m_AddReferenceCount;
private int m_RemoveReferenceCount;

public ReferenceCollection()
{
m_References = new Queue<IReference>();
m_UsingReferenceCount = 0;
m_AcquireReferenceCount = 0;
m_ReleaseReferenceCount = 0;
m_AddReferenceCount = 0;
m_RemoveReferenceCount = 0;
}
Expand All @@ -36,6 +40,22 @@ public int UsingReferenceCount
}
}

public int AcquireReferenceCount
{
get
{
return m_AcquireReferenceCount;
}
}

public int ReleaseReferenceCount
{
get
{
return m_ReleaseReferenceCount;
}
}

public int AddReferenceCount
{
get
Expand All @@ -55,6 +75,7 @@ public int RemoveReferenceCount
public T Acquire<T>() where T : class, IReference, new()
{
m_UsingReferenceCount++;
m_AcquireReferenceCount++;
lock (m_References)
{
if (m_References.Count > 0)
Expand All @@ -70,6 +91,7 @@ public int RemoveReferenceCount
public IReference Acquire(Type referenceType)
{
m_UsingReferenceCount++;
m_AcquireReferenceCount++;
lock (m_References)
{
if (m_References.Count > 0)
Expand All @@ -90,6 +112,7 @@ public void Release<T>(T reference) where T : class, IReference
m_References.Enqueue(reference);
}

m_ReleaseReferenceCount++;
m_UsingReferenceCount--;
}

Expand All @@ -101,6 +124,7 @@ public void Release(Type referenceType, IReference reference)
m_References.Enqueue(reference);
}

m_ReleaseReferenceCount++;
m_UsingReferenceCount--;
}

Expand Down