If you want to execute synchronous code asynchronous (for example CPU extensive calculations), you can use Task.Run(() => {})
.
public async Task DoStuffAsync()
{
await DoCpuBoundWorkAsync();
}
private async Task DoCpuBoundWorkAsync()
{
await Task.Run(() =>
{
for (long i = 0; i < Int32.MaxValue; i++)
{
i = i ^ 2;
}
});
}