Tiny cleanup
This commit is contained in:
1 parent
fa8f1b029a
commit
26f9666df6
5 files changed
+40
-39
No files matched your search
@@ -1,6 +1,6 @@
|
||||
namespace Recyclable.Collections.Parallel
|
||||
{
|
||||
public sealed class ManualResetEventSlimmer
|
||||
public sealed class ManualResetEventSlimmer
|
||||
{
|
||||
internal bool _isSet;
|
||||
public bool IsSet => _isSet;
|
||||
|
||||
@@ -1,38 +1,39 @@
|
||||
namespace Recyclable.Collections.Parallel
|
||||
{
|
||||
public sealed class ParallelSynchronizationContext : IDisposable
|
||||
{
|
||||
public readonly ManualResetEventSlimmer ItemFoundSignal;
|
||||
public readonly Barrier AllDoneSignal;
|
||||
public long FoundItemIndex;
|
||||
public Exception? Exception;
|
||||
internal bool _returned;
|
||||
public sealed class ParallelSynchronizationContext : IDisposable
|
||||
{
|
||||
public readonly ManualResetEventSlimmer ItemFoundSignal;
|
||||
|
||||
public ParallelSynchronizationContext()
|
||||
{
|
||||
ItemFoundSignal = ManualResetEventSlimmerPool.Create(false);
|
||||
public readonly Barrier AllDoneSignal;
|
||||
public long FoundItemIndex;
|
||||
public Exception? Exception;
|
||||
internal bool _returned;
|
||||
|
||||
public ParallelSynchronizationContext()
|
||||
{
|
||||
ItemFoundSignal = ManualResetEventSlimmerPool.Create(false);
|
||||
AllDoneSignal = new(0);
|
||||
}
|
||||
}
|
||||
|
||||
public ParallelSynchronizationContext(int participantCount)
|
||||
{
|
||||
ItemFoundSignal = ManualResetEventSlimmerPool.Create(false);
|
||||
AllDoneSignal = new(participantCount);
|
||||
}
|
||||
public ParallelSynchronizationContext(int participantCount)
|
||||
{
|
||||
ItemFoundSignal = ManualResetEventSlimmerPool.Create(false);
|
||||
AllDoneSignal = new(participantCount);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (!_returned)
|
||||
{
|
||||
_returned = true;
|
||||
ParallelSynchronizationContextPool.Shared.Return(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
ItemFoundSignal.Dispose();
|
||||
AllDoneSignal.Dispose();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
if (!_returned)
|
||||
{
|
||||
_returned = true;
|
||||
ParallelSynchronizationContextPool.Shared.Return(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
ItemFoundSignal.Dispose();
|
||||
AllDoneSignal.Dispose();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@ using System.Runtime.CompilerServices;
|
||||
using Recyclable.Collections.Parallel;
|
||||
using Recyclable.Collections.Pools;
|
||||
|
||||
[assembly:InternalsVisibleTo("Recyclable.Collections.Benchmarks")]
|
||||
[assembly: InternalsVisibleTo("Recyclable.Collections.Benchmarks")]
|
||||
|
||||
namespace Recyclable.Collections
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user