一、 进程和线程的概念
1. 进程:
进程是操作系统结构的基础;是一次程序的运行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
2. 线程:
线程实在进程中独立运行的子任务,一个进程可以有1个或多个线程。
二、 创建线程的方法
1. 继承Thread类
1. Thread类结构
public class Thread implements Runnable
从其结构可以看出,Thread类实现了Runnable接口。下面是一个继承Thread类实现多线程的例子:
MyThread.java
public class MyThread extends Thread {
private int count = 10;
@Overrid
public void run() {
super.run();
while(count > 0) {
System.out.println(Thread.currentThread().getName() +
" : " + count);
count--;
}
}
}
Demo1.java
public class Demo1() {
public static void main(String[] args) {
MyThread myThread1 = new MyThread();
myThread1.setName("线程1");
MyThread myThread2 = new MyThread();
myThread2.setName("线程2");
myThread1.start();
myThread2.start();
}
}
其运行结果如下:
由结果可以看出,两个线程执行顺序呈随机性,且不共享其count变量,即count变量是线程私有的;若想多个线程共享同一变量,实现类似抢票的功能,可采用如下方法:
Demo2.java
public class Demo2 {
public static void main(String[] args) {
MyThread myThread = new MyThread();
Thread t1 = new Thread(myThread, "线程1");
Thread t2 = new Thread(myThread, "线程2");
t1.start();
t2.start();
}
}
其运行结果如下:
由结果可以看出,两个线程执行顺序呈随机性,且共享其count变量,即count变量是线程共享的;
2. 实现Runnable接口
//TODO