Task readPLC = Task.Factory.StartNew(() => { ***************** Task.Delay(200).Wait(); });
时间: 2024-07-02 11:01:18 浏览: 4
这段代码使用了.NET框架中的Task类和Factory.StartNew方法来创建一个新的任务(Task)。Task是一个代表异步操作的轻量级线程,这里用于执行一个PLC(Programmable Logic Controller,可编程逻辑控制器)相关的读取操作。
具体来说,`Task.Factory.StartNew(() => {...})` 创建了一个新的异步任务,当代码执行到 `Task.Delay(200).Wait();` 时,程序会暂停200毫秒(等待200ms),然后继续执行后续的任务。`Wait()` 方法会阻塞当前线程,直到任务完成。
相关问题
c#的 TaskFactory taskFactory = Task.Factory; taskFactory.StartNew是什么
这段代码是在 C# 中使用 Task Parallel Library (TPL) 创建一个新的任务。TaskFactory 是一个用于创建和启动 Task 对象的工厂类。taskFactory.StartNew 方法则是创建并启动一个新的 Task 对象,该对象可以异步执行一些操作,并且可以通过 Task 对象的各种方法和属性来控制任务的状态和执行过程。例如,可以使用 Task.Wait 方法等待任务执行完成,或者使用 Task.ContinueWith 方法指定任务完成后的后续操作。
Task.Run与Task.Factory.StartNew的区别
Task.Run 和 Task.Factory.StartNew 都可以用来创建并启动一个新的任务,但是它们有以下区别:
1. 调用方式不同:Task.Run 是一个静态方法,可以直接通过类调用;而 Task.Factory.StartNew 是通过 Task.Factory 实例化一个 Task 对象,再调用其 StartNew 方法。
2. Task.Run 更加简洁:Task.Run 只需要传入一个 Action 或 Func 委托作为任务的执行体,而 Task.Factory.StartNew 则需要传入一个 TaskCreationOptions 枚举值来指定任务的类型。
3. Task.Run 默认使用 TaskScheduler.Default 调度器:Task.Run 创建的任务默认使用 TaskScheduler.Default 调度器,在 .NET Framework 4.5 之后,这个调度器会使用当前线程的上下文来执行任务。而 Task.Factory.StartNew 则需要通过重载方法来指定调度器。
综上所述,Task.Run 更加简洁易用,且默认使用当前线程上下文执行任务,而 Task.Factory.StartNew 则可以更加灵活地指定任务的类型和调度器。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)