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

来源:互联网 发布:使用u盘安装linux系统 编辑:程序博客网 时间:2024/06/06 15:01

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

线程有以下几个状态:

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

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

下面是分别两类方法:

1:

package Test;public class dxcheng {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubCat1 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 blocke.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 stubDogs 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 blocke.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 stubDogs 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 blocke.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 blocke.printStackTrace();}System.out.println("我是猪:"+times);if(times==10){break;}}}}



0 0