用Java Socket制作聊天室如何实现收发消息不冲突

用Java Socket制作聊天室怎么实现收发消息不冲突?
我想实现不停的发消息,也可以不停的收,但不会冲突,并不是你一句我一句的那种,而是可以接受和发送很多条消息
它们只在服务器与客户端之间,只有一个客户端,这是我的服务器代码,怎样改才能实现其功能?
interface Sockets{
public Socket getSocket();
public void setSocket(Socket s);
}
class Send extends Thread{
Sockets s=new ChatRoom4();
public void run(){
synchronized(this){
try{
Socket socket=s.getSocket();
ObjectOutputStream oos=new ObjectOutputStream(socket.getOutputStream());
while(true){
 Object o=new Scanner(System.in).next();
 oos.writeObject(o);
 oos.flush();
   continue;
}
}catch(Exception e){
e.printStackTrace();
}
}

}
}

class Read extends Thread{
Sockets s=new ChatRoom4();
public void run(){
synchronized(this){
try{
Socket socket=s.getSocket();
Thread.sleep(1000);
if(socket.getInputStream()==null){
Thread.currentThread().yield();
}
BufferedInputStream bis=new BufferedInputStream(socket.getInputStream());
     ObjectInputStream ois=new ObjectInputStream(bis);
     System.out.println(ois.readObject());
}catch(Exception e){
e.printStackTrace();
}
}
}
}
class ChatRoom4 implements Sockets{
ServerSocket server=null;
Socket socket=null;
public ChatRoom4(){
try{
server=new ServerSocket(7700);
socket=server.accept();
if(socket!=null){
setSocket(socket);
new Send().start();
new Read().start();
}
}catch(Exception e){
e.printStackTrace();
}
}
public Socket getSocket(){
return this.socket;
}
public void setSocket(Socket s){
this.socket=s;
}
}
------解决思路----------------------
将接收消息的代码写在主线程中,将发送消息的代码写在子线程中,这两个程序就可以并发了,要代码可以找我