これが分かり易いな
https://www.mgo-tec.com/blog-entry-arduino-esp32-multi-task-dual-core-01.html/3
一部勝手に修正・削除した。

```
TaskHandle_t th[2];

void Task1(void *pvParameters) {
pinMode(4, OUTPUT);

while(1) {
digitalWrite(4, LOW);
digitalWrite(4, HIGH);
}
}

void Task2(void *pvParameters) {
pinMode(5, OUTPUT);

while(1) {
digitalWrite(5, LOW);
digitalWrite(5, HIGH);
}
}

void setup() {
xTaskCreatePinnedToCore(Task1,"Task1", 4096, NULL, 3, &th[0], 0); //Task1実行
xTaskCreatePinnedToCore(Task2,"Task2", 4096, NULL, 5, &th[1], 1); //Task2実行
}
```

各コア用のtaskの中にsetupとloopの代わりになるコードを書けばいいんだね。