第一章 多线程
1.进程
(1)进程是系统运行程序的基本单位
(2)每一个进程都有自己的独立的一块内存空间,一组系统资源。
(3)每一个进程的内部数据和状态都是独立的。
2.线程
(1)线程是进程过程中执行运算的最小单位,可完成一个独立的顺序控制流程。
(2)每个进程中,必须至少建立一个进程(这个线程为主线程)来作为这程序运行的入口点。
(3)如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为“多线程”,
3.多线程的好处
4.在java中实现多线程的两种方法
(1)继承Thread类
Java提供了java.lang.Thread类支持多线程编程
流程:1.创建MyThread(类名可自定义)类继承Thread类 ——>>2. 在MyThread类中重写run方法实现数据输出
——>>3.在main方法中创建线程对象,调用start()方法启动线程。
代码如下
------------------------------------------------------------------------------------------------------------------------------------------------
public class MyThreadextends Thread{
//重写run()方法
public void run(){
for(int i=1;i<100;i++){ System.out.println(
Thread.currentThread().getName()+":"+i);
}}}---------------------------------------------------------------------------------------------------------------------------------------------------------
publicstatic void main(String[] args) {
MyThread thread = new MyThread();
thread.start(); //启动线程
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
public class MyRunnableimplements Runnable{
public void run(){
for(int i=1;i<100;i++){ System.out.println(
Thread.currentThread().getName()+":"+i);
}}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------
publicstatic void main(String[] args) {
MyRunnable myRunnable = new MyRunnable();
Thread myThread = new Thread(myRunnable);
thread.start(); //启动线程
}
5.线程的状态
6.关于线程调度的方法表
方 法 | 说 明 |
setPriority(int newPriority) | 更改线程的优先级 |
static void sleep(long millis) | 在指定的毫秒数内让当前正在执行的线程休眠 |
void join() | 等待该线程终止 |
static void yield() | 暂停当前正在执行的线程对象,并执行其他线程 |
void interrupt() | 中断线程 |
boolean isAlive() | 测试线程是否处于活动状态 |