I have an application that will ping all IP's on a subnet each on a seperate thread. This works great, except I can not get results from all of those threads. I would like any thread that gets a vaid ping responce to save the IP it pinged in an array, but if I have The threads try and write to an array they all attempt to acces about at the same time and no data gets written. What is the best way to obtain a list of output for each thread in a thread array when they are all running the same procedure at the same time? If i am not clear enough let me know and I will post some code =)