Race conditions are only an issue if two threads may read and modify the same variable concurrently.
As long as you are sure that each thread uses a different range of indices, and the underlying array is not redefined, then it should be safe to think of each cell as a different variable. Therefore, each thread works on a separate set of variables and you would not get a race condition.
That being said, make sure you are indeed not overlapping in your use of indices - this is often trickier than it would appear.
In addition, you have to make sure that no two cells map into the object - if you modify the same object (rather than just the reference to it) from two threads, you could get a race condition.