- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java线的程(上)
* * Path//10.txt * * * * LOGO LOGO LOGO Java线程(上) ID:SCSJ002-J2SE Java线程(上) 线程概述 Java线程模型 创建线程 后台线程(守护线程) 线程的join()方法 2011-05-03 * 线程概述 多进程:在操作系统中能(同时)运行多个任务(程序) 多线程:在同一应用程序中有多个顺序流(同时)执行 2011-05-03 * Java线程模型 虚拟的CPU,由java.lang.Thread类封装和虚拟CPU来实现。 CPU所执行的代码,传递给Thread类对象。 CPU所处理的数据,传递给Thread类对象。 代 码 数 据 虚拟CPU Java线程模型 2011-05-03 * 创建线程 通过java.lang.Thread来创建一个线程 Thread的构造器: Thread() Thread(Runnable target) Thread(Runnable target, String name) Thread(String name) Thread(ThreadGroup group, Runnable target) Thread(ThreadGroup group, Runnable target, String name) Thread(ThreadGroup group, String name) 2011-05-03 * 启动线程 每个线程都是通过某个特定Thread对象所对应的方法run( )来完成其操作的,方法run( )称为线程体。 使用start()方法,线程进入Runnable(可运行)状态,它将向线程调度器注册这个线程。 调用start()方法并不一定马上会执行这个线程,正如上面所说,它只是进入Runnable 而不是Running。 注意,不要直接在程序中调用线程的run()方法。 2011-05-03 * 创建并启动线程例子 public class TestThread extends Thread{ public void run(){ for(int i = 0; i 100; i++) System.out.println(Count:+i); } public static void main(String[] args){ TestThread tt = new TestThread(); //注意,不要直接调用run方法 tt.start(); } } 2011-05-03 * 创建线程的另一种方式 通过实现Runnable接口并实现接口中定义的唯一方法run(),可以创建一个线程 public class TestThread implements Runnable{ public void run(){ for(int i = 0; i 100; i++) System.out.println(Count:+i); } } public static void main(String[] args){ TestThread tt = new TestThread(); Thread t = new Thread(tt); t.start(); } 2011-05-03 * 两种线程创建方式的比较 使用Runnable接口 可以将CPU,代码和数据分开,形成清晰的模型; 还可以从其他类继承; 保持程序风格的一致性。 直接继承Thread类 不能再从其他类继承; 编写简单,可以直接操纵线程,无需使用Thread.currentThread()。 2011-05-03 * 结束线程 线程会以以下三种方式之一结束: 线程到达其 run() 方法的末尾; 线程抛出一个未捕获到的 Exception 或 Error; //下面线程何时结束? public class TestThread implements Runnable{ public void run(){ for(int i = 0; i 100; i++) System.out.println(Count:+i); } } 2011-05-03 * 后台线程 有一种线程,它是在后台运行的,它的任务是为其他的线程提供服务,这种线程被称为后台线程(Daemon Thread),又称为守护线程 public static void main(String[] args){ TestThread tt = new TestThread(); Thread t = new Thread(tt);
您可能关注的文档
- HW-T16数字电影放映机的用户培训手册.doc
- HUAWEI DBS3900的双模基站硬件结构与原理-20090202-ISSUE1.0-B.ppt
- hy的permill安装及基本功能介绍.pptx
- HZD2000系列自的动提升料斗混合机说明书.docx
- H海览F的六练习.ppt
- h的ibernate表关联详解.pdf
- H的TCC-1总线消防电话说明书.pdf
- h的tc vive 中文说明书.pdf
- H的TML 标准属性.docx
- h的tml标签属性大全.doc
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)