Olá, bubulindo!
Desculpe-me, eu me referia a dois processadores em um único chip (core to duo, por exemplo).
Sei como funcionam as threads, mas preferi trabalhar (brincar, na verdade) com condições no loop para alternar entre métodos e funções. Creio que seja a solução mais simples, sem interromper o loop do arduino ou fazer concorrência com ele =)
Eu uso as interrupts para monitorar comandos externos (sensores/switchs) e amlimento variáveis globais, trando os resultados no loop, se quero 10 amostragens, por exemplo, no lugar de um "while ou for" + delay(), eu trato dentro do loop do arduino.
Mas essas são preferências pessoais, por isso indiquei os links para as libs