2013/06/14面试

Timer,实现每隔2秒打印Hello!。


 

package timer;



import java.util.Timer;

import java.util.TimerTask;



public class TimerTest {



	public static void main(String[] args) {

		Timer t = new Timer();

		MyTimerTask my = new MyTimerTask();

		t.scheduleAtFixedRate(my, 0, 2000);

		try{

			Thread.sleep(5000);//5秒停止

		}catch(Exception e){

			

		}

		t.cancel();//停止

	}

	

}



class MyTimerTask extends TimerTask{



	public void run() {

		System.out.println("Hello!");

	}



}


在原来的基础上加了几句,如果没有try以后的语句就为题意,加上后,5秒后既停止。

 


设计2个线程,1个线程对公共value加1,当value大于或等于100后显示“大于或等于100,不予相加!”,

另一个线程对公共value减1,当value小于或等于0后显示“小于或等于0,不予相减!”


 

package thread;



public class Test {

	int value = 0;

	

	class additionThread extends Thread{

		

		public void run() {

			while(true){

				if(value>=100) {

					System.out.println("大于100,不予相加!");

				} else{

					value++;

					System.out.println("加1后:"+value);	

				}

				try{

	            	Thread.sleep(500);

	            }catch(Exception e){

	            	

	            }

			}

		}

	}

	

	class subtractionThread extends Thread {

		public void run() {

			while(true){

				if(value<=0){

					System.out.println("小于或等于0,不予相减!");

				}else{

					value--;

					System.out.println("减1后:"+value);	

				}

				try{

	            	Thread.sleep(500);

	            }catch(Exception e){

	            	

	            }

			}

		}

	}



	

	public void start(){

	    new additionThread().start();

	    new subtractionThread().start();

	}

	 

	    public static void main(String args[]){

	            new Test().start();

	            

	    }

}

 



总结:

基础知识需牢靠,避免模棱两可。

 

你可能感兴趣的:(面试)