下载此文档

java多线程42816 PPT课件.ppt


文档分类:IT计算机 | 页数:约41页 举报非法文档有奖
1/41
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/41 下载此文档
文档列表 文档介绍
java多线程
学习目标
线程的基本概念
线程的创建和启动
线程的调度和优先级
线程的状态控制
线程同步
多任务
多任务---在同一时刻似乎有多个程序(进程)在同时运行的能力
多任务管理的实现方法---
抢占式多任务---直接中断而不需要事先和被中断程序协商(UNIX/Linux,Windows NT/XP)
协作式多任务---只有在被中断程序同意交出控制权之后才能执行中断( OS 9和手机)
正是由于这种多任务操作系统的出现才有了多线程这个概念
线程概述
每个进程都有独立的代码和数据空间,进程切换到开销大。
线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(标识该线程代码运行到那个地方),线程切换的开销小
多进程:在多任务操作系统中能(同时)运行多个任务(程序)
多线程:在同一应用程序中有多个顺序流(多个顺序流被称为多线程)(同时)执行
注意:同时是指同一个时间段,是因为cpu把时间段分成很多个时间片,同一个时间片运行不同的进程或线程,再因为cpu运行的速度相当的快,所以我们感觉他们是在同一时间内完成多个事情
每一个进程分配一块内存空间,每一个进程的多个线程共用同一个内存
线程的创建和启动
创建线程有两种方式:



Thread类代表线程类,它的最主要的两个方法是:
run()----------包含线程运行时所要执行的代码,称为线程体,是线程启动的入口
start()--------用于启动线程
说明:用户定义的线程类只需要继承Thread类,覆盖Thread类的run()方法,最后使用start()就可以启动用户定义的线程了
Java线程模型
虚拟的CPU,。
CPU所执行的代码,传递给Thread类对象。
CPU所处理的数据,传递给Thread类对象。
代码
数据
虚拟CPU
Java线程模型
线程例子
public class ThreadDemo1 extends Thread {
/**
* ***@param args
*/
public static void main(String[] args) {
//子线程1
ThreadDemo1 t1 = new ThreadDemo1();
//设置线程
("线程1");
//启动线程
();
//子线程2
ThreadDemo1 t2 = new ThreadDemo1();
("线程2");
();
//主线程调用
for (int i = 0; i < 50; i++) {
(().getName() + "==--" + i);
}
}
public void run() {
for (int i = 0; i < 50; i++) {
//得到启动线程的名字
(().getName() + "==" + i);
}
}
}
启动线程
每个线程都是通过某个特定Thread对象所对应的方法run( )来完成其操作的,方法run( )称为线程体。
使用start()方法,线程进入Runnable(可运行)状态,它将向线程调度器注册这个线程。
调用start()方法并不一定马上会执行这个线程,正如上面所说,它只是进入Runnable 而不是Running。
注意,不要直接在程序中调用线程的run()方法。 run()方法会被线程自动调用
Thread注意
ThreadDemo1 t1 = new ThreadDemo1();
();
();//
一个线程只能启动一次

java多线程42816 PPT课件 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数41
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小马匹匹
  • 文件大小0 KB
  • 时间2015-02-15