List of changes: - avoid calculating accumulated rounding error by calculating absolute sample index based on CLOCK_REALTIME every time. - use threadCreate instead of plain pthread_create which assigns a unique thread name and simplifies debugging