我希望并行运行三个任务.我希望检查完成的第一个任务的结果,并检查以确定结果是否良好.如果是,我取消所有其他任务并返回此结果,如果没有,我将等待下一个完成的任务并检查是否良好,如果是,则执行相同操作.(想想是良好的OutputDataType成员对一些简单的检查).
我继续这个,直到我获得一个结果很好的完成任务,或者所有任务返回的结果都不好,在这种情况下我会返回null.
先感谢您.
using System;
using System.Threading;
using System.Threading.Tasks;
namespace myNamespace
{
class Program
{
static void Main()
{
InputDataType data = getMyData();
OutputDataType x = Foo(data);
}
static OutputDataType Foo(InputDataType data)
{
Task<OutputDataType> task1 = null, task2 = null, taks3 = null;
Task<OutPutDataType>[] TaskArray = { task1, task2, task3 };
task1 = Task<SolutionInterpreters>.Factory.StartNew(() => RunFunc1(data));
task2 = Task<SolutionInterpreters>.Factory.StartNew(() => RunFunc2(data));
task3 = Task<SolutionInterpreters>.Factory.StartNew(() => RunFunc3(data));
/*
. …Run Code Online (Sandbox Code Playgroud) 我通过 Mode Analytics Platform 连接到 AWS Athena 并使用其查询引擎(基于 Presto 0.172 )查询表。该表public.zones将时区信息存储在time_zone我感兴趣的某些区域的列中,存储为varchar.
例如,如果我输入:
SELECT time_zone
FROM public.zones
LIMIT 4;
Run Code Online (Sandbox Code Playgroud)
我得到(如预期):
time_zone
----------
US/Pacific
US/Eastern
US/Eastern
US/Eastern
Run Code Online (Sandbox Code Playgroud)
我可以运行这个测试查询:
SELECT
timestamp '2017-06-01 12:34:56.789' AT TIME ZONE 'US/Eastern' AS time_eastern,
time_zone
FROM public.zones
LIMIT 4;
Run Code Online (Sandbox Code Playgroud)
我得到(如预期)
time_eastern time_zone
---------------------------------- ----------
2017-06-01 08:34:56.789 US/Eastern US/Pacific
2017-06-01 08:34:56.789 US/Eastern US/Eastern
2017-06-01 08:34:56.789 US/Eastern US/Eastern
2017-06-01 08:34:56.789 US/Eastern US/Eastern
Run Code Online (Sandbox Code Playgroud)
现在,我想'2017-06-01 12:34:56.789'在我从区域表中查询的不同时区中表示相同的时间字符串。我希望运行以下查询。(它在 PostgreSQL 上运行)。
SELECT
timestamp '2017-06-01 12:34:56.789' AT TIME …Run Code Online (Sandbox Code Playgroud)