diff options
Diffstat (limited to 'tensorflow/core/kernels/data/parallel_map_iterator.cc')
-rw-r--r-- | tensorflow/core/kernels/data/parallel_map_iterator.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/tensorflow/core/kernels/data/parallel_map_iterator.cc b/tensorflow/core/kernels/data/parallel_map_iterator.cc index ebf41925c9..e69274e4f2 100644 --- a/tensorflow/core/kernels/data/parallel_map_iterator.cc +++ b/tensorflow/core/kernels/data/parallel_map_iterator.cc @@ -181,9 +181,10 @@ class ParallelMapIterator : public DatasetBaseIterator { EXCLUSIVE_LOCKS_REQUIRED(*mu_) { if (!runner_thread_) { auto ctx_copy = std::make_shared<IteratorContext>(*ctx); - runner_thread_.reset(ctx->env()->StartThread( - {}, "runner_thread", - std::bind(&ParallelMapIterator::RunnerThread, this, ctx_copy))); + runner_thread_ = + MakeUnique<BackgroundWorker>(ctx->env(), "runner_thread"); + runner_thread_->Schedule( + std::bind(&ParallelMapIterator::RunnerThread, this, ctx_copy)); } } @@ -331,7 +332,7 @@ class ParallelMapIterator : public DatasetBaseIterator { // Buffer for storing the invocation results. std::deque<std::shared_ptr<InvocationResult>> invocation_results_ GUARDED_BY(*mu_); - std::unique_ptr<Thread> runner_thread_ GUARDED_BY(*mu_); + std::unique_ptr<BackgroundWorker> runner_thread_ GUARDED_BY(*mu_); bool cancelled_ GUARDED_BY(*mu_) = false; }; |