1.进程和线程
多进程:
在操作系统中能(同时)运行多个任务(程序)
多线程:
在同一应用程序中有多个顺序流(同时)执行
2.多线程程序运行模式
一个线程从创建开始,到准备状态,然后再到抢占CPU执行,等待-->执行-->等待-->执行,在执行过程中可能会遇到阻塞事件,这时就会
进入阻塞状态,等到解除阻塞后又恢复等待状态,然后再抢占CPU,执行完之后,就结束,也就是死亡。
3.定义线程的方法
创建线程的方法
FirstThread.java
class FirstThread extends Thread{
public void run(){
for(int i = 0; i < 100; i++){
System.out.println("FirstThread-->" + i);
}
}
}
Test.java
class Test{
public static void main(String args []){
//生成线程类的对象
FirstThread ft = new FirstThread();
//启动线程,进入就绪状态
ft.start();
for(int i = 0; i < 100; i++){
System.out.println("main-->" + i);
}
//ft.run(); //不要这样执行,这样执行多线程没启动,只有单纯的main线程。
}
}
在这个例子当中,主函数也是一个线程,而FirstThread也是一个线程,所以当启动FirstThread的时候,main函数里的循环打印和FirstThread循环打印会不规则的显示出结果。
这就是线程的一个特点,无法预测,不知道哪个先抢占到,这些都是未知之数,就是没谱。