首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请问线程有关问题(各位大人请进)

2012-01-23 
请教线程问题(各位大人请进)packagecom.nb.adv.carinfoimportjava.io.IOExceptionimportjava.net.Datagr

请教线程问题(各位大人请进)
package   com.nb.adv.carinfo;

import   java.io.IOException;
import   java.net.DatagramPacket;
import   java.net.DatagramSocket;
import   java.text.ParseException;
import   java.text.SimpleDateFormat;
import   java.util.Calendar;
import   java.util.Date;

import   com.zl.base.core.db.Executer;
import   com.zl.base.exception.DbException;

public   class   DGSServer   {

       
        public     static     void   main(String[]   args)   throws   ParseException,   DbException
{
       
        try{
        String   CarID,Longitude,Latitude,Time= " ",Flag;
        System.out.println( "Start   server... ");
        Calendar   now   =Calendar.getInstance();
//         Integer   year=new   Integer(now.YEAR);
//         Integer   month   =new   Integer(now.MONTH);
//         Integer   day   =new   Integer(now.DATE);
        Date   datetime1=now.getTime();
        //String   year1   =   year.toString().substring(2,4);
        SimpleDateFormat   sdf   =   new   SimpleDateFormat( "yyyyMMdd   HH:mm:ss ");
        String   datetime   =   sdf.format(datetime1);
        String   message1=   datetime.substring(2,4)+datetime.substring(4,8)+ "| "+datetime.substring(9,11)+datetime.substring(12,14);
        System.out.println(datetime);
        DatagramSocket   s=new   DatagramSocket(10000);
        byte[]   data=new   byte[100];
        DatagramPacket   dgp=new   DatagramPacket(data,data.length);
        while(true){
        s.receive(dgp);
        String   str1=new   String(data).trim();
        //String   str2=   new   String(str1.getBytes(), "gb2312 ");
        System.out.println(new   String(data).trim());
        //拆分字符串
        String[]   splitstring=   str1.split( "\\| ");
       
        //给各个变量赋值
        CarID   =   splitstring[1];
        Longitude   =splitstring[2];
        Latitude   =splitstring[3];
        Flag   =splitstring[4];
        //时间字符串拼凑
        Time   = "20 "+splitstring[5].substring(0,2)+ "- "+splitstring[5].substring(2,4)+ "- "+splitstring[5].substring(4,6)+ "   "+splitstring[6].substring(0,2)+ ": "+splitstring[6].substring(2,4)+ ": "+ "00 ";
        System.out.println(Time);
//         插入数据库数据
        String   Sql   =   "insert   into   CarInformation(CarId,Longitude,Latitude,Time,Flag)   values ";


                      Sql=Sql+ "( ' "+CarID+ " ', "+Longitude+ ", "+Latitude+ ",Cast( ' "+Time+ " '   as   Date), ' "+Flag+ " ') ";
                System.out.println(Sql);            
        Executer.getInstance().ExecUpdateSQL(Sql);
               
        s.send(dgp);
        }
        }
        catch(IOException   e){
        System.out.println(e.toString());
                 
        }
       
}
       
   
             
}

我想把上面的内容放在线程里面进行处理,该怎么做,小弟以前没做过线程,请指教,谢谢!

[解决办法]
做一个继承于 Thread的类
实现 Run() 函数,里面做个while循环,因为服务器线程的话设为deamo线程
查一下手册吧

热点排行