安卓线程闪退,无法运行怎么办

问题遇到的现象和发生背景
        //8.圆形进度条
        //8.1 获取
        probar=(ProgressBar)findViewById(R.id.pbcircle);
        //8.2线程
        new Thread(new Runnable(){

        @Override
        public void run() {
            // TODO Auto-generated method stub
            while(true){
                circlepro=doWork();
                Message m=new Message();
                if(circlepro<100){
                    m.what =0x111;
                    circleh.sendMessage(m);
                }
                else{
                    m.what =0x110;
                    circleh.sendMessage(m);
                    break;
                }
            }
        }
        private int doWork(){
            circlepro+=Math.random()*10;
            try{
                Thread.sleep(2000);
            }
            catch(InterruptedException e){
                e.printStackTrace();
            }
            return circlepro;
        }
    }).start();

######logcat
11-19 21:43:50.931: W/dalvikvm(1260): threadid=14: thread exiting with uncaught exception (group=0xb4a2dba8)
11-19 21:43:50.931: E/AndroidRuntime(1260): FATAL EXCEPTION: Thread-96
11-19 21:43:50.931: E/AndroidRuntime(1260): Process: com.example.test1, PID: 1260
11-19 21:43:50.931: E/AndroidRuntime(1260): java.lang.NullPointerException
11-19 21:43:50.931: E/AndroidRuntime(1260): at com.example.test1.comActivity$3.run(comActivity.java:100)
11-19 21:43:50.931: E/AndroidRuntime(1260): at java.lang.Thread.run(Thread.java:841)
11-19 21:43:51.131: I/Choreographer(1260): Skipped 40 frames! The application may be doing too much work on its main thread.

操作环境、软件版本等信息

eclipse Android

空指针异常:java.lang.NullPointerException
打印一下probar是不是空值
probar=(ProgressBar)findViewById(R.id.pbcircle);