一个简单的Java服务端,客户端的demo中的问题。

首先说我的问题:我需要用java做一个服务器端,当客户端发过一条请求来以后,服务器端开始每隔1s对客户端发送一个字符串。
然后说我的思路:
这是服务端。

public static void main(String[] args) {
    String temp;
    try {
        while (true) {
            ServerSocket ss = new ServerSocket(30000);
            // 每当接受到客户端socket的请求,服务端也对应产生一个socket
            Socket s = ss.accept();
            System.out.println("IP为" + s.getInetAddress() + "连接此服务器");
            // 接受客户端发送的数据
            BufferedReader br = new BufferedReader(new InputStreamReader(
                    s.getInputStream()));
            System.out.println("来自客户端的数据:" + br.readLine());
            // 将Socket对应的输出流包装成PrintStream
            PrintStream ps = new PrintStream(s.getOutputStream());
            // 进行普通的 io操作
            temp = new ds().product();
            System.out.println("temp" + temp);
            ps.println(temp);
            ps.close();
            br.close();
            s.close();
        }
    } catch (Exception e) {
        // TODO: handle exception
    }

其中 temp=new Ds().product();是一个线程类,每1s返回一个不同的String.
问题就来了,我的server类是不是也应该是一个线程类?client是不是也应该是一个线程类?
或者我的server如果是一个线程类的话,我是不是就不需要再把赋值的类写成一个线程了???

求好心人帮助,嘿嘿