当前位置: 首页 > 图灵资讯 > 技术篇> JAVA——63.线程与多线程

JAVA——63.线程与多线程

来源:图灵教育
时间:2023-05-25 09:17:05

Java程序中的单任务流。我们在相对独立的线程中实现每一项任务。main是主线程 同时完成多项任务。程序执行的步骤是有序的,但很多时候,我们需要并发地处理问题,而不是按顺序处理问题 【多线程】线程也被视为对象,多线程是指多线程对象 [API支持线程类]java.lang.Thread。Thread类的对象是线程对象 练习一、打印线程对象初始化

package pkg3;public class test3 implements Runnable{   Thread th1;   public test3() {//2       th1=new Thread(this);///2-1初始化线程对象       th1.start();//2-2启动线程对象,Run方法自动调用   }   public static void main(String[] args){       new test3();//1.从主线程开始,调用结构方法   }@Overridepublic void run() {//3    // TODO Auto-generated method stub    System.out.println(“线程运行”);//3-1打印线程,“运行”}

JAVA——63.线程与多线程_System

线程的生命周期:new、runnable、not runnable、dead

package pkg3;public class test3 implements Runnable{   Thread th1;   public test3() {//2       th1=new Thread(this);///2-1初始化线程对象       th1.start();//2-2启动线程对象,Run方法自动调用   }   public static void main(String[] args){       new test3();//1.从主线程开始,调用结构方法   }@Overridepublic void run() {//3    // TODO Auto-generated method stub    while(true) {    System.out.println(“线程运行”);//3-1打印线程,“运行了”    try {        th1.sleep(500);//强制睡眠500毫秒,进入非运行状态nottnott进入非运行状态 runnable(睡眠、堵塞、排队)    } catch (InterruptedException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    }}}

JAVA——63.线程与多线程_初始化_02

练习三、多线程

package pkg3;public class test3 implements Runnable{   Thread th1,th2;   public test3() {//2       th1=new Thread(this);///2-1初始化线程对象       th2=new Thread(this);       th1.start();//2-2启动线程对象,Run方法自动调用       th2.start();   }   public static void main(String[] args){       new test3();//1.从主线程开始,调用结构方法   }@Overridepublic void run() {//3    // TODO Auto-generated method stub    /*while(true) {    System.out.println(“线程运行”);//3-1打印线程,“运行了”    try {        th1.sleep(500);//强制睡眠500毫秒,进入非运行状态nottnott进入非运行状态 runnable(睡眠、堵塞、排队)    } catch (InterruptedException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    }*/    Thread th=Thread.currentThread();///这种方法可以判断进入run方法的线程对象    if(th==th1) {        System.out.println(“线程1运行”);    }    if(th==th2) {        System.out.println(“线程2运行”);    }}}

JAVA——63.线程与多线程_System_03