这个例子有问题,workerWrapper2.next(workerWrapper3, false)这个false必须要填写,下面的能达到效果是因为1的sleep时间比较长,所以执行效果看起来是对的,当w1的sleep时间短就错了。

/**
     * 0执行完,同时1和2, 必须1执行完毕后,才能执行3. 无论2是否领先1完毕,都要等1
     *     1
     * 0       3
     *     2
     *
     * 则结果是:
     * 0,2,1,3
     *
     * 2,3分别是500、400.2执行完了,1没完,那就等着1完毕,才能3
     */

//设置2不是必须,1是必须的
WorkerWrapper<String, String> workerWrapper2 =  new WorkerWrapper.Builder<String, String>()
        .worker(w2)
        .callback(w2)
        .param("2")
        .next(workerWrapper3)
        .build();

WorkerWrapper<String, String> workerWrapper1 =  new WorkerWrapper.Builder<String, String>()
    .worker(w1)
    .callback(w1)
    .param("1")
    .next(workerWrapper3)
    .build();