7.多线程.pptVIP

  • 3
  • 0
  • 约7.38千字
  • 约 30页
  • 2017-08-23 发布于河南
  • 举报
多线程 线程概念 线程注意点 如何创建线程 Thread类 Thread类 主线程与用户自定义线程并发 关键点解释 多线程共享一个对象的实例变量 关键点解释 修改main方法 实现Runable接口 String数据类型 关键点解释 线程的状态转换 线程的状态转换 线程的状态转换 线程调度 线程的调度 调整线程的优先级 线程睡眠Thread.sleep()方法 线程让步:Thread.yield()方法 等待其他线程结束:join()方法 线程的同步 线程的同步 线程的同步 线程通信 线程通信 总结 总结 * * 1.多线程 2.线程概念 3.线程注意点 4.创建线程 5.主线程与用户线程的并发 6.多线程共享一个实例变量 7.线程的状态转换 8.线程的调度 9.线程的同步 10.线程的通信 11.总结 进程:运行中的应用程序,每一个进程都有自己独立的内存空间。 线程:进程中的一个执行流程。 并发运行: 一个进程可以由多个线程组成,它们分别执行不同的任务,当进程内的多个线程同时运行时,这种运行方式称为并发运行。 数据库服务器,web服务器都支持并发,这些服务器能同时响应来自不同客户的请求。 线程与进程的主要区别: 每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块内存地址空间中工作。 这些线程共享同一块内存空间和系统资源,比如共享一个对象或者共享已经打开的一个文件。 在JVM进程中,执行程序代码的任务是由线程来完成的。 线程具有:不确定性、没有保障性,各个线程的运行完全是以不可预料的 方式和速度推进,有的一个程序运行了N次,其结果差异性很大。 所谓的多任务是通过周期性地将CPU时间片切换到不同的子任务,虽然从微观上看来,单核的CPU上同时只运行一个子任务,但是从宏观来看,每个子任务似乎是同时连续运行的。 在java中,线程指两个不同的内容:一是java.lang.Thread类的一个对象;另外也可以指线程的执行(实现Runable接口,然后构造为Thread对象)。 我们运行java程序时有一个入口函数main()函数,它对应的线程被称为主线程。一个新线程一旦被创建,就产生一个新调用栈,从原主线程中脱离,也就是与主线程并发执行。 除了Java虚拟机的主线程,用户还可以创建自己的线程,他将和主程序并发。 创建线程的两种方式: 2.实现Runable接口。 public class myThread implements Runnable{ } 1.扩展java.lang.Thread类(线程对象)。 public class myThread extends Thread{ } 2.实现Runable接口(线程的执行)。 public class myThread implements Runnable{ } Thread类代表线程类,继承Thread的类可以作为一个线程类。 两个主要方法: run()——包含线程运行时执行的代码。 start()——用于启动线程 public class MyThread extends Thread{ public void run(){ for(int a=0;a50;a++){ System.out.println(a); } } public static void main(String[] args) { MyThread mt=new MyThread(); mt.start(); } } MyThread的运行过程。 创建启动主线程 (执行main方法) 创建MyThread对象 调用start()方法 启动MyThread线程 执行他的run方法 示例 public class MyThread extends Thread{ public void run(){ for(int a=0;a50;a++){ System.out.println(currentThread().getName()+:+a); try { sleep(1000);//给其他线程机会 } catch (InterruptedException e) { e.printStackTrace(); } } } public static void main(String[] args) { MyThread mt1=new MyThread();//创建第一个线程对象 MyThread mt2=new MyThread();//创建第而个线程对象 mt1.start();//启动第一个mt1线程 mt2.start();//启动第二个mt2线程 mt1.run();//主线程执行第一个mt1对象的run方法 } } 特殊的二维数组。当第

文档评论(0)

1亿VIP精品文档

相关文档