Java语言程序设计教程(Java 7)——入门与提高篇06.pdf
文本预览下载声明
第6章高级应用
李绪成
lixucheng@
/javaeeteacher
Java语言程序设计教程(Java 7 )——入门与提高篇‐清华大学出版社‐李绪成
主要内容
• 6.1 多线程
• 6.2 网络编程
• 6.3 GUI编程
/javaeeteacher
Java语言程序设计教程(Java 7 )——入门与提高篇‐清华大学出版社‐李绪成
6.1 多线程
• 6.1.1 线程与进程
• 6.1.2 Java 中多线程实现的方式
• 6.1.3 线程的名字
• 6.1.4 线程的优先级
• 6.1.5 让线程等待
• 6.1.6 实例:实现人能够同时说话和开车
• 6.1.7 资源同步
• 6.1.8 wait和notify
/javaeeteacher
Java语言程序设计教程(Java 7 )——入门与提高篇‐清华大学出版社‐李绪成
6.1.1 线程与进程
• 进程可以看成是一个运行中的程序,每个应
用就是一个运行的程序,可以看成是一个进
程。操作系统提供会为每个进程分配内存空
间和CPU时间等。多任务支持了多进程。
• 线程称为轻量级的进程,有自己的运行环境
。线程存在于进程中,每个进程最少有一个
线程,线程分享进程的资源。例如程序中同
时进行数据读取和数据处理,这样能够提高
效率,这时候就需要两个线程。
/javaeeteacher
Java语言程序设计教程(Java 7 )——入门与提高篇‐清华大学出版社‐李绪成
6.1.2 Java 中多线程实现的方式
• Java 中提供了两种实现线程类的方式:
– 通过继承Thread类实现多线程;
– 通过实现Runnable接口实现多线程。
/javaeeteacher
Java语言程序设计教程(Java 7 )——入门与提高篇‐清华大学出版社‐李绪成
通过继承Thread创建线程
• 继承Thread类实现线程类,需要覆盖run方法
public class MyThread extends Thread{
public void run(){
// 定义线程要执行的代码
}
}
• 通过线程类创建线程对象:
Thread t = new MyThread();
Thread t = new MyThread(线程名字);
• 线程的启动通过start方法实现。
/javaeeteacher
Java语言程序设计教程(Java 7 )——入门与提高篇‐清华大学出版社‐李绪成
• 【例6.1 】编写两个线程类,第1个线程负责
输出数字,第2个线程输出小写字母,然后
编写测试程序创建这两个线程对象,并启动
线程。因为计算机的计算速度非常快,所以
必须循环的次数足够多才能看到效果。
/javaeeteacher
Java语言程序设计教程(Java 7 )——入门与提高篇‐清华大学出版社‐李绪成
使用Runnable实现多线程
• 需要实现run方法:
public class MyThread2 implements Runnable{
public vo
显示全部