Skip to content

Commit f807fcd

Browse files
committed
让上层可以加入创建集合
1 parent 64c9787 commit f807fcd

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

AsyncWorkerCollection/DoubleBuffer_/DoubleBufferTask.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System;
1+
#nullable enable
2+
using System;
23
using System.Collections.Generic;
34
using System.Threading.Tasks;
45

@@ -7,7 +8,7 @@ namespace dotnetCampus.Threading
78
/// <summary>
89
/// 双缓存任务
910
/// </summary>
10-
public class DoubleBufferTask<T, TU> where T : class, ICollection<TU>, new()
11+
public class DoubleBufferTask<T, TU> where T : class, ICollection<TU>
1112
{
1213
/// <summary>
1314
/// 创建双缓存任务,执行任务的方法放在 <paramref name="doTask"/> 方法
@@ -17,9 +18,12 @@ namespace dotnetCampus.Threading
1718
/// <para></para>
1819
/// 传入的 List&lt;T&gt; 就是需要执行的任务,请不要将传入的 List&lt;T&gt; 保存到本地字段
1920
/// </param>
20-
public DoubleBufferTask(Func<T, Task> doTask)
21+
/// <param name="aList"></param>
22+
/// <param name="bList"></param>
23+
public DoubleBufferTask(T aList, T bList, Func<T, Task> doTask)
2124
{
2225
_doTask = doTask;
26+
DoubleBuffer = new DoubleBuffer<T, TU>(aList, bList);
2327
}
2428

2529
/// <summary>
@@ -87,6 +91,6 @@ public Task WaitAllTaskFinish()
8791

8892
private readonly Func<T, Task> _doTask;
8993

90-
private DoubleBuffer<T, TU> DoubleBuffer { get; } = new DoubleBuffer<T, TU>(new T(), new T());
94+
private DoubleBuffer<T, TU> DoubleBuffer { get; }
9195
}
9296
}

AsyncWorkerCollection/DoubleBuffer_/DoubleBufferTask`T.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ namespace dotnetCampus.Threading
99
/// 双缓存任务
1010
/// </summary>
1111
/// <typeparam name="T"></typeparam>
12-
public class DoubleBufferTask<T>: DoubleBufferTask<List<T>,T>
12+
public class DoubleBufferTask<T> : DoubleBufferTask<List<T>, T>
1313
{
1414
/// <summary>
1515
/// 创建双缓存任务,执行任务的方法放在 <paramref name="doTask"/> 方法
1616
/// </summary>
1717
/// <param name="doTask"></param>
18-
public DoubleBufferTask(Func<List<T>, Task> doTask) : base(doTask)
18+
public DoubleBufferTask(Func<List<T>, Task> doTask) : base(new List<T>(), new List<T>(), doTask)
1919
{
2020
}
2121
}

0 commit comments

Comments
 (0)