See, Now you owe all of us a coffee or a Beer 
That's good, as what i have learned is....
You don't need to use the second core UNTIL YOU NEED TO USE THE SECOND CORE.
In saying that, By all means , When learning Use it
But not until you've used only 1 core and many many Multi Tasking examples that you understand how to control multi Tasks within 1 core
After that you can move to 2 cores
I would suggest you experiment between using
xTaskCreatePinnedToCore()
//and
xTaskCreate()
Ii find it very useful to know which to use when
as a cheat sheet, the only difference between those 2 is the specific allocation of a core when using the first
That makes sense
Remember to keep your delays the same length while testing,
vTaskDelay will affect what gets executed first or second or whatever
in a nutshell , Priorities work like this
we are taught that 0 is the lowest, but not told the highest,
Fact is you can pick most any number you like,
I Personally have tested from Priority 0 to Priority 50
it all works
Until i find a reason to go above that i won't.
You should only need up to 5 Priority levels
DO THIS
Create 2 tasks
NO DELAYS at all in the sketch
TASK 1 Priority 1
TASK2 Priority 2
compile and Run
IS THIS WHAT YOU ARE GETTING
Result
Only TASK2 is allowed to run

If i now change the priorities in reverse
xTaskCreate(TASK1, "Task 1", 2000, NULL, 2, NULL);
xTaskCreate(TASK2, "Task 2", 2000, NULL, 1, NULL);
I get this output
Now it would APPEAR that it's not working.. BUT IT IS
if i now add a 1 sec delay to TASK1 and TASK2 as follows
void TASK1( void *pvParameters )
{
for(;;)
{
Serial.print("TASK1 IS RUNNING ON CORE ");
Serial.println(xPortGetCoreID());
vTaskDelay(1000);
}
}
The compile and run
See, it works

Because adding the delay puts the task into Blocked status for the duration of the delay,
While in blocked status the Task with the lower priority is allowed to run,
Then when the higher priority Task returns from Blocked Status it takes priority and is allowed to run without interruption form the lower priority task
As you can see here , my tests were done with xTaskCreate
Menaing i let the ESP decide which core it wants to use
it started on Core 1, it finished up on Core 0
Unless it actually affects something that you're doing, WHY DOES IT MATTER
when you are learning
First understand xTaskCreate
then play with xTaskCreatePinnedToCore
that's my advice