线程:一个线程就是一个“执行流”
引入线程的原因:线程比进程更轻量
进程和线程的区别:
①进程是操作系统资源分配的基本单位,线程是操作系统调度运行的基本单位
②进程包含线程,一个进程可以包含多个线程,每个进程至少存在一个线程
③进程有独立的内存空间和文件描述符表,同一个进程中的多个线程之间共享同一份内存空间和文件描述符表
④进程之间具有独立性,一个进程阻塞不会影响另一个进程。同一个进程里的多个线程之间,一个线程阻塞可能影响整个进程,并且影响其他的线程
java标准库中提供了Thread类来表示一个线程
创建线程:
①继承Thread类
run方法重写父类的方法,是线程的入口方法
run方法是一个特殊的方法,只能被自动调用,在myThread里面的其它普通方法,必须要手动调用
t.start():表示启动线程
main方法为主线程

当在主线程中也写一个死循环打印的时候,查看结果是没有顺序的打印主线程和子线程
所以多个线程在cpu上调度执行的顺序是不确定的


②实现Runnable接口
Runnable是一个接口,这个接口里面的方法都是抽象方法,所以要重写抽象方法

③匿名内部类创建线程:大括号“{}”放到谁的后面就是针对哪个类创建的匿名内部类
匿名内部类创建Thread子类对象

匿名内部类创建Runnable子类对象

④lambda表达式创建线程(最常用):()->{}
()里面放参数
{}里面放函数体


本文介绍了线程相关知识,指出线程是“执行流”,比进程更轻量。阐述了进程和线程的区别,如进程是资源分配基本单位,线程是调度运行基本单位等。还介绍了Java标准库中用Thread类表示线程,以及创建线程的四种方式,包括继承Thread类、实现Runnable接口等。
1416

被折叠的 条评论
为什么被折叠?



