Неважно, зависит ли computeList от myList или нет, поскольку при доступе только к чтению содержимого myList не может возникнуть проблема синхронизации.
Если не использовать volatile для myList, может случиться так, что get возвращает старый myList, даже если строго установленный список уже заменил список. Если вы не возражаете против этой ситуации (это может привести к тому, что два потока увидят разные значения), то вам не нужен volatile.