I am using "Machine A", in which i have 50 files. I need to write a multithread program which runs in "Machine A" which will split this 50 files as "25/25" send those files to "Machine B" (will get the first 25 files) and "Machine C" (next 25 files). Hence i need to have 2 threads , in which one thread will send the first 25 files to "Machine B" and the second thread will send the next 25 files to "Machine C". Finally in "Machine A" i need to wait until all these files are invoked from both the threads. Please help me how we can do it using the Java Multithreading? Any samples are appreciated.