java中多线程的基本理解以及运行机制

所谓线程,就是一种简单的进程,多线程可以实现多个运行,这样就丰富我我们的功能。

线程有以下几个状态:

可运行状态,运行状态,阻塞状态,销毁状态。

运行线程一般有两种方式,一种是继承thread类重写run方法。第二种是写Runnable然后重写run方法实现线程。

下面是分别两类方法:

1:

package Test;

public class dxcheng {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Cat1 cat1=new Cat1();
//		启动线程,启用run函数,进入可运行状态
		cat1.start();
	}
}
class Cat1 extends Thread{
	int times=0;
	public void run(){
		while(true){
//			休眠1000毫秒
			try {
//				进入阻塞状态
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("Hello"+times);
			times++;
			if(times==10){
//				退出线程
				break;
			}
		}
	}
}
2:

package Test;

public class runnable {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Dogs dog1=new Dogs();
		Thread t=new Thread(dog1);
		t.start();
	}

}
class Dogs implements Runnable{
	int times=0;
	public void run(){
		while(true){
			try {
				
				Thread.sleep(1000);
				times++;
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("您好"+times);
			if(times==10){
				break;
			}
		}
	}
}


最后就是实现多线程交替进行工作:

package Test;

public class runnable {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Dogs dog1=new Dogs();
		Thread t=new Thread(dog1);
		Pig pig1=new Pig();
		Thread m=new Thread(pig1);
		t.start();
		m.start();
	}

}
class Dogs implements Runnable{
	int times=0;
	public void run(){
		while(true){
			try {
				
				Thread.sleep(1000);
				times++;
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("我是狗"+times);
			if(times==10){
				break;
			}
		}
	}
}
class Pig implements Runnable{
	int times=0;
	public void run(){
		while(true){
			try {
				
				Thread.sleep(1500);
				times++;
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("我是猪:"+times);
			if(times==10){
				break;
			}
		}
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值