![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
@阿颜
这个作者很懒,什么都没留下…
展开
-
synchronized和volatile关键字的作用
synchronized和volatile关键字的作用 一旦一个共享变量被volatile修饰后,就具有两层含义 1、保证了不同线程对这个变量进行操作时的可见性 即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2、禁止进行指令重排序。 volatile本质是在告诉jvm当前变量在寄存器中的值是不确定的,需要从主存中读取 synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。 1、volatile仅能使用在变量级别原创 2020-12-30 15:30:38 · 356 阅读 · 1 评论 -
线程安全和线程不安全
线程安全 线程安全是指多个线程在执行同一段代码的时候采用加锁机制,是每一次执行结果和单线程执行的结果是一样的。 如何保证线程安全 1、synchronized()同步锁 2、synchronized修饰的同步方法 3、lock锁机制 ...原创 2020-12-30 14:49:13 · 93 阅读 · 0 评论 -
创建线程的方式
创建线程的方式 1、继承Thread类 自定义一个继承Thread类并重写其run()方法的类 创建Thread实例(即创建Thread子类的实例) 调用Thread实例的start()方法启动线程 2、实现Runnable接口 自定义一个实现Runnable接口并实现其run()方法的类 创建Runnable实现类的实例 创建Thread实例(将Runnable实例传递给Thread实例) 调用Thread实例的start()方法启动线程 3、利用线程池实现 创建线程池 创建任务 通过创建Ru原创 2020-12-10 22:37:14 · 56 阅读 · 0 评论