#include <future>
using namespace std;

using namespace Windows::ApplicationModel::Background;

void task1();
void task2();
void task3();
void task4();

namespace MultiTask
{
    [Windows::Foundation::Metadata::WebHostHidden]
    public ref class StartupTask sealed : public IBackgroundTask
    {
    public:
        virtual void Run(Windows::ApplicationModel::Background::IBackgroundTaskInstance^ taskInstance) 
        {
            auto deferral = taskInstance->GetDeferral();

            auto t1 = async(launch::async, task1);
            auto t2 = async(launch::async, task2);
            auto t3 = async(launch::async, task3);
            auto t4 = async(launch::async, task4);
        }
    };
}