- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章线程剖析
Essential Programming with Java / chapter 11 线程 第六章 目标 了解多线程的概念 掌握如何创建线程 了解死锁的概念 掌握线程同步 掌握使用 wait() 和 notify() 在线程之间进行通信 多任务处理 基于线程的多任务处理的优点 多线程 主线程 主线程示例 class Mythread extends Thread { public static void main(String args[]) { Thread t= Thread.currentThread(); System.out.println(当前线程是: +t); t.setName(MyJavaThread); System.out.println(当前线程名是: +t); try { for(int i=0;i3;i++) { System.out.println(i); Thread.sleep(1500); } } catch(InterruptedException e) { System.out.println(主线程被中断); } } } 创建线程 1-1 创建线程 1-2 创建线程示例(1) class MyThread1 extends Thread { public static void main(String args[]) { Thread t= Thread.currentThread(); System.out.println(主线程是: +t); MyThread1 ex = new MyThread1(); ex.start(); } public void run() { System.out.println(子线程是:+this); } } 创建线程示例(2) class MyThread2 implements Runnable{ public static void main(String args[]) { Thread t= Thread.currentThread(); System.out.println(主线程是: +t); MyThread2 ex = new MyThread2(); Thread newThread = new Thread(ex); newThread.start(); } public void run() { System.out.println(子线程是:+this); } } 线程的状态 2-1 线程状态的示例 TwoThreadsTest.java class ThreadStateDemo extends Thread { Thread t; public ThreadStateDemo() { t=new Thread(this); System.out.println (线程 t 为新建!); System.out.println (线程 t 为就绪!); t.start(); } public void run() { try { System.out.println (线程 t 在运行!); t.sleep(500); System.out.println(线程 t 在短时间睡眠后重新运行!); } catch (InterruptedException IE) { System.out.println(线程被中断); } } Thread 类中的重要方法 2-1 Thread 类中的重要方法 2-2 线程优先级 Java提供一个线程调度器来监控程序启动后进入可运行状态的所有线程。线程调度器按照线程的优先级决定调度哪些线程来执行,具有高优先级的线程会在较低优先级的线程之前得到执行。同时线程的调度是抢先式的,即如果当前线程在执行过程中,一个具有更高优先级的线程进入可执行状态,则该高优先级的线程会被立即调度执行。 多个线程运行时,若线程的优先级相同,由操作系统按时间片轮转方式或独占方式来分配线程的执行时间。 线程优先级 线程同步 ——为什么要引入同步机制? 线程同步 解决方法:使用 “同步”。在线程使用资源时为其加锁即可。也就是访问资源的第一个线程为其加上锁以后,其他的线程便不能再使用那个资源,除非被解锁。 同步基
文档评论(0)