东理多线程的优势SHANDONGUNIVERSITYOFTECHNOLOGY减轻编写交互频繁、涉及面多的程序的困难程序的吞吐量得到改善由多个处理器的系统,可以并发运行不同的线程(否则,任何时刻只有一个线程在运行)专业专注创新
专业 专注 创新 多线程的优势 减轻编写交互频繁、涉及面多的程序的困难 程序的吞吐量得到改善 由多个处理器的系统,可以并发运行不同的线 程(否则,任何时刻只有一个线程在运行)
东理线程与进程的区别SHANDONGUNIVERSITYOFTECHNOLOGY数据共享?多个进程的内部数据和状态是完全独立的★多线程共享一块内存空间和一组系统资源,有可能相互影响切换时的开销线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,因此线程的切换比进程切换的负担要小。专业专注创新
专业 专注 创新 线程与进程的区别 数据共享? 多个进程的内部数据和状态是完全独立的 多线程共享一块内存空间和一组系统资源,有可 能相互影响 切换时的开销 线程本身的数据通常只有寄存器数据,以及一个 程序执行时使用的堆栈,因此线程的切换比进程 切换的负担要小
东理宝主线程SHANDONGUNIVERSITYOFTECHNOLOGY当Java程序启动时,一个线程立刻运行,该线程通常叫做程序的主线程(mainthread)。★每个Java程序都有一个隐含的主线程。主线程的重要性它是产生其他子线程的线程主线程在程序启动时自动创建,也由一个Thread对象控制。专业专注创新
专业 专注 创新 主线程 当Java程序启动时,一个线程立刻运行,该线程通 常叫做程序的主线程(main thread)。 每个Java程序都有一个隐含的主线程。 主线程的重要性 它是产生其他子线程的线程。 主线程在程序启动时自动创建,也由一个Thread对 象控制
东理客线程的创建和启动SHANDONGUNIVERSITYOFTECHNOLOGY创建线程有两种方式★定义一个Thread类的子类,覆盖Thread类的run()方法,然后创建该子类的实例。定义一个实现Runnable接口的类,实现它的run()-方法,然后将这个类的实例作为Thread类构造方法的参数,创建Thread类的实例。调用start()方法启动线程。专业专注创新
专业 专注 创新 线程的创建和启动 创建线程 有两种方式: 定义一个Thread类的子类,覆盖Thread类的run() 方法,然后创建该子类的实例。 定义一个实现Runnable接口的类,实现它的run() 方法,然后将这个类的实例作为Thread类构造方 法的参数,创建Thread类的实例。 调用start()方法启动线程
东理功客通过创建线程继承Thread类创建线程SHANDONGUNIVERSITYOFTECHNOLOGYextendsThreadpublicclassMyThread1publicstaticvoid main(Stringargs)Ⅱ获取当前线程对象,这里是主线程对象Thread t=Thread.currentThreadO;获取主线程对象out.printIn("主线程是:"+t);I创建子线程并启动MyThread1mt=newMyThread1();mt.start();I/重写父类的run(方法创建子线程并启动publicvoidrunoⅡ获取当前线程对象,这里是子线程对象out.println("子线程是:"+Thread.currentThread();
专业 专注 创新 通过扩展Thread类来创建线程 public class MyThread1 extends Thread { public static void main(String[] args) { // 获取当前线程对象,这里是主线程对象 Thread t = Thread.currentThread(); out.println("主线程是:" + t); // 创建子线程并启动 MyThread1 mt = new MyThread1 (); mt.start(); } // 重写父类的run()方法 public void run() { // 获取当前线程对象,这里是子线程对象 out.println("子线程是:" + Thread.currentThread()); . } } 继承Thread类创建线程 获取主线程对象 创建子线程并启动