java多线程的简单应用

1)要求:

 完成一个java application应用程序,在应用程序主进程中新开一个线程,此线程进行死循环,每1秒被激活一次,激活时即在输出显示当前时间。

程序代码:

	import java.text.SimpleDateFormat;
	import java.util.Date;
public class Timer implements Runnable {	           
	    public void run(){//run方法,里面包含需要执行的任务
	       while(true){
	    	try {
				Thread.sleep(1000);	//使得线程休息时间1s			       	        
	        SimpleDateFormat t=new SimpleDateFormat("yyyy-MM-dd"+"  "+"HH:mm:ss");
	        String Time=t.format(new Date());//将当前时间信息赋给变量Time
	        System.out.println("当前的时间为:"+Time);//输出当前时间信息
	        } catch (InterruptedException e) {
				
				e.printStackTrace();
			}
	        }
	    }
	    public static void main(String[] args){
	    Timer T=new Timer();//创建线程
	    new Thread(T).start();//开启线程
	    }
}

输出结果:
在这里插入图片描述

2)要求:

 完成一个java application应用程序,此应用程序公共类有一个double型类属性(变量)x,初始值为0;在应用程序主进程中新开两个线程,这两个线程都进行死循环;第1个线程每隔300ms激活一次,令类属性x自加1.0并输出显示;第2个线程每隔400ms激活一次,令类属性x自加0.1并输出显示。

程序代码:

	public class Thre{
		static double x=0; 
		public static void main(String[] args){
		     Thread T1=new Thread(new Thre1());//创建线程
		     Thread T2=new Thread(new Thre2());//创建线程
			 new Thread(T1).start();//开启线程
			 
			new Thread(T2).start();//开启线程
		    }
public static class Thre1 extends Thread {	          
		 
	    public void run(){//run方法,里面包含需要执行的任务
	       while(true){
	    	try {
				Thread.sleep(300);	//使得线程休息时间300ms			       	        
	              x+=1.0;
	        System.out.println("+1= "+x);//输出当前数值
	        } catch (InterruptedException e) {
				
				e.printStackTrace();
			}
	        }
	    }
}
	   public static class Thre2 extends Thread{
	    	public void run(){//run方法,里面包含需要执行的任务
	 	       while(true){
	 	    	try {
	 				Thread.sleep(400);	//使得线程休息时间400ms			       	        
	 	              x+=0.1;
	 	        System.out.println("+0.1= "+x);//输出当前数值
	 	        } catch (InterruptedException e) {
	 				
	 				e.printStackTrace();
	 			}
	 	        }
	 	    }
	    }

	   

}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Mrchongyang/article/details/82947870
今日推荐