新手-JAVA-线程-总结

1 多线程存在的必要
2 怎样实现多线程
多线程就是开启多个线程让电脑在处理一个程序的同时再处理另一个程序。其实就是为了提高电脑执行程序的必要性。
在这里 我举两个例子。分别用两种方法实现多线程
不管是那种方法都要调用run()方法。要实现多线程的操作 必须用到run() 这是在Runnable里的一个抽象方法通过实现它实现多线程
JAVA里提供了开启线程的方法 start()。
(1)继承extends方法

public class Test1{
	public static void main(String args[]){
		ThreadTest t=new ThreadTest();
		t.run();
	}
}
class ThreadTest extends Thread{
	private int tickets=100;
	public void run(){
		while(true){
			 if(tickets<100){
				System.out.println(Thread.currentThread().getName()+"卖票"+tickets--);
			 }
		}
	}
}



运行的结果是每个线程都卖100张票,也就是卖了400张票。但这不是我们想要的结果。
因为这种方法无法实现资源共享 所以有了下面这种方法。
(2)实现implements接口
一般我们在实现多线程的都用implements实现

 

public class Test2{
	public static void main(String args[]){
		TestThread t=new TestThread();//
		new Thread(t).start();
		/*
			其实就是 Thread a=new Thread(t);
			a.start();
			创建了Thread类的对象 并将Runnable接口的子类对象作为参数传入
			Thread类的构造方法。这是为了让线程对象去执行指定的run()方法
			而这个方法所属Runnable的子类。
			这里的a是Runnable类型的。
			同一个线程开启了4次,达到了资源共享的效果
		*/
		new Thread(t).start();
		new Thread(t).start();
		new Thread(t).start();
	}
}
class TestThread implements Runnable{
	private int tickets=100;
	public void run(){
		while(true){
			if(tickets>0){
			System.out.println(Thread.currentThread().getName()+"卖票"+tickets--);
		}
		}
	}
}


 

表达的不怎么好,不知道形容的准不准确,多多指教 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值