Skip to content

Commit

Permalink
Docking hybrid tasks
Browse files Browse the repository at this point in the history
  • Loading branch information
pizihao committed Jun 23, 2022
1 parent 48d2866 commit 5b55e50
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 3 deletions.
7 changes: 7 additions & 0 deletions src/main/java/com/deep/crow/FixedMultiTools.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.deep.crow.multi.Multi;
import com.deep.crow.multi.MultiHelper;
import com.deep.crow.task.mix.MixMulti;
import com.deep.crow.task.parallel.ParallelMulti;
import com.deep.crow.task.serial.SerialMulti;
import com.deep.crow.util.Tuple;
Expand Down Expand Up @@ -126,6 +127,12 @@ public ParallelMulti parallelMulti() {
return ParallelMulti.of(executorService);
}

// ================================ParallelMulti====================================

public <T> MixMulti<T> mixMulti(T obj) {
return MixMulti.of(obj, executorService);
}

// ======================================操作=========================================

/**
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/com/deep/crow/MultiTools.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.deep.crow.multi.Multi;
import com.deep.crow.multi.MultiHelper;
import com.deep.crow.task.mix.MixMulti;
import com.deep.crow.task.parallel.ParallelMulti;
import com.deep.crow.task.serial.SerialMulti;
import com.deep.crow.util.Tuple;
Expand Down Expand Up @@ -106,6 +107,12 @@ public static ParallelMulti parallelMulti() {
}


// ================================MixMulti====================================

public static <T> MixMulti<T> mixMulti(T obj, ExecutorService executorService) {
return MixMulti.of(obj, executorService);
}

// ================================操作====================================

/**
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/com/deep/crow/task/mix/MixMulti.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,15 @@ public class MixMulti<T> {
*/
Consumer<Throwable> fn;

public MixMulti(T obj, ExecutorService executorService) {
private MixMulti(T obj, ExecutorService executorService) {
this.obj = obj;
this.executorService = executorService;
}

public static <T> MixMulti<T> of(T obj, ExecutorService executorService) {
return new MixMulti<>(obj, executorService);
}

/**
* <h2>添加任务。前置任务默认为开始节点</h2>
* 无需验证前置任务是否已完成
Expand Down
4 changes: 2 additions & 2 deletions src/test/java/com/deep/crow/task/mix/MixMultiTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class MixMultiTest extends TestCase {

public void testAdd() {
User user = new User();
MixMulti<User> mixMulti = new MixMulti<>(user, executorService)
MixMulti<User> mixMulti = MixMulti.of(user, executorService)
.add("B", o -> wait(o, "B", 3))
.add("C", o -> wait(o, "C", 2))
.add("D", o -> wait(o, "D", 0), "B", "C")
Expand All @@ -41,7 +41,7 @@ public void testAdd() {

public void testAddThrowable() {
User user = new User();
MixMulti<User> mixMulti = new MixMulti<>(user, executorService)
MixMulti<User> mixMulti = MixMulti.of(user, executorService)
.add("B", o -> wait(o, "B", 3))
.add("C", o -> wait(o, "C", 2))
.add("D", o -> wait(o, "D", 0), "B", "C")
Expand Down

0 comments on commit 5b55e50

Please sign in to comment.