概述JAVA线程(Thread)线程是进程中一个“单一的连续控制流程(a single sequential flow of control)/执行 路径一个进程可拥有多个并行的(concurrent)线程一个进程中的线程共享相同的内存单元/内存地址空间一可以访问相同的变量和对象,而且它们从同一堆中分配对象一通信、 数据交换、同步操作轻量级进程(lightweight process6
6 概述 ◼ 线程(Thread) ◼ 线程是进程中一个“单一的连续控制流程” (a single sequential flow of control)/执行路径 ◼ 一个进程可拥有多个并行的(concurrent)线程 ◼ 一个进程中的线程共享相同的内存单元/内存 地址空间→可以访问相同的变量和对象,而且 它们从同一堆中分配对象→通信、数据交换、 同步操作 ◼ 轻量级进程(lightweight process)
概述JAVAJava语言中的线程大多数现代的操作系统都支持线程第一个在语言本身中显性地包含线程的主流编程语言,它没有把线程化看作是底层操作系统的工具每个Java程序都至少有一个线程一主线程当一个Java程序启动时,JVM会创建主线程,并在该线程中调用程序的mainO方法JVM还创建了其它线程,如垃圾收集(garbagecollection)1
7 概述 ◼ Java语言中的线程 ◼ 大多数现代的操作系统都支持线程 ◼ 第一个在语言本身中显性地包含线程的主流编 程语言,它没有把线程化看作是底层操作系统 的工具 ◼ 每个 Java 程序都至少有一个线程—主线程 ◼ 当一个 Java 程序启动时,JVM 会创建主线程, 并在该线程中调用程序的main()方法 ◼ JVM还创建了其它线程,如垃圾收集(garbage collection)
概述JAVA多线程(MultiThreading)语言java.lang.Thread类java.lang.Runnable接口为什么?(用途)Client/Server设计中的服务器端,如每个用户请求建立一个线程图形用户界面(GUI)的设计中提高事件响应的灵敏度从提高程序执行效率的考虑利用多处理器系统执行异步或后台处理等8
8 概述 ◼ 多线程(MultiThreading)语言 ◼ java.lang.Thread类 ◼ java.lang.Runnable接口 ◼ 为什么? (用途) ◼ Client/Server设计中的服务器端, 如每个用户 请求建立一个线程 ◼ 图形用户界面(GUI)的设计中提高事件响应的 灵敏度 ◼ 从提高程序执行效率的考虑 ◼ 利用多处理器系统 ◼ 执行异步或后台处理等
java.lang.Threadpublic static void sleep(longmillis)throwsInterruptedExceptionCauses the currently executing thread to sleepJAVA(temporarilyceaseexecution)forthespecified numberofmilliseconds.人public class SimpleThread extends Threadpublic SimpleThread(String str) (super(str);}public void runOSystem.out.println(getNameO+"线程开始!");for (int i = O; i < 8; i++) (System.out.println(i + " " + getName());try (sleep((long)(Math.random() * 1000); catch (InterruptedException e) )}System.out.println(getName()+"线程运行结束!")719
9 ◼ 初探线程 public class SimpleThread extends Thread { public SimpleThread(String str) { super(str); } public void run() { System.out.println(getName()+“线程开始!"); for (int i = 0; i < 8; i++) { System.out.println(i + " " + getName()); try { sleep((long)(Math.random() * 1000)); } catch (InterruptedException e) {} } System.out.println(getName() + " 线程运行结束!"); } } 概述 public class TwoThreadsDemo { public static void main (String[] args) { new SimpleThread(“A").start(); new SimpleThread(“B").start(); } } java.lang.Thread public static void sleep(long millis) throws InterruptedException Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds