The best way is to not read the same area of the table that he's writing to. It's also important that his "loading" should be fast. Some will suggest the use of "WITH (NOLOCK)" or setting the transaction isolation level to "Read Uncommitted". Both of those are usually really bad ideas.
You could also use WITH (READ PAST) to read only those things that are not locked but that can also be an issue.
The best way is to make the "Loading" as fast as possible and have the "read" code simply wait.