day11

线程

线程的概念

可以让我们的程序同时做多件事
进程:进程是操作系统中的概念,只每个独立运行的程序就是一个进程
线程:线程是由进程创建的,是操作系统能够进行运算调度的最小单位,它被包含在进程之内,是进程中的实际运作单位,可以将一段代码分离出来,以独立的线程的方式运行,这段代码会与主进程,同时进行,而已使我们的程序同时做多件事,提高程序的运行效率
并发:一个cup,两个线程
并行:两个cpu,两个线程,每个线程占用1个cpu
程序继承Thread,重写run方法,new对象的时候使用start()启动线程
线程对象的start只能使用一次,运行完之后,JVM自动回收,自动成为垃圾
一个线程类,可以创建多个线程对象,每个线程对象都会以一个独立的方式来运行
程序实现Runable接口,重写run方法,创建自定义类对象,使用thread的有参构造方法,将自定义类对象传入,在使用start()方法.
第一种:需要子类继承Thread类,第二种需要子类实现runable接口,
区别是,继承是单继承,接口可以多实现,常用runable接口(建议使用)

匿名内部类的线程实现方式
new thread主播弄好了吗(){重写run方法,内写方法体}.start();
newThread(new Runable){重写run方法,内写方法体}.start();
fori{方法体}//主线程

单数不定向到我风湿的哪位达人说明她的中医

thread的常用静态方法:
成员方法getName(),获取线程名称,默认名称Thread--索引
成员方法setName(),设这线程名称
静态方法:Thread.currentThread(),获取当前的线程对象
和this的区别https://blog.csdn.net/nba_0916/article/details/81902277

静态方法:Thread.sleep(毫秒),做一些动画,钟表,每秒钟走一次

高并发及线程安全

volatile关键字解决变量的可见性和有序性

针对变量的整体解决方案:原子类

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容