![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 95
echo洋阳
随手甩个赞!
展开
-
Volatile介绍
Java语言规范第三版中对volatile的定义如下: java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁更加方便。如果一个字段被声明成volatile,java线程内存模型确保所有线程看到这个变量的值是一致的。...原创 2022-08-15 23:32:31 · 295 阅读 · 0 评论 -
线程和线程池
继承Thread类创建线程的步骤为:(1)创建一个类继承Thread类,重写run()方法,将所要完成的任务代码写进run()方法中;(2)创建Thread类的子类的对象;(3)调用该对象的start()方法,该start()方法表示先开启线程,然后调用run()方法; 2 实现Runnable接口 实现Runnable接口创建线程的步骤为:(1)创建一个类并实现Runnable接口(2)重写run()方法,将所要完成的任务代码写进run()方法中(3)创建实现Runnable接口的类的对象,将该对象当做T原创 2022-08-15 23:31:24 · 285 阅读 · 0 评论 -
ThreadLocal详解
如果一个对象只具有弱引用,那就类似于可有可无的生活用品。弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它 所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程, 因此不一定会很快发现那些只具有弱引用的对象。弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java 虚拟机就会把这个弱引用加入到与之关联的引用队列中。...原创 2022-08-15 23:29:42 · 168 阅读 · 0 评论 -
synchronized详解
对synchronized的了解 synchronized 关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。 在 Java 早期版本中,synchronized 属于 重量级锁,效率低下。 为什么呢? 因为监视器锁(monitor)是依赖于底层的操作系统的 Mutex Lock 来实现的,Java 的线程是映射到操作系统的原生线程之上的。如果要挂起或者唤醒一个线程,都需要操作系统帮忙完成,而操作系统实现线程之间的切换时.原创 2022-03-12 21:34:39 · 1095 阅读 · 1 评论 -
并发编程---基础
并发编程笔记 基础知识 1)程序、进程、线程、协程(纤程); 2)线程有哪些状态; 3)进程间的通信方法、线程间的通信方法。 程序,进程,线程,协程 程序: 编译好的二进制文件,不占用资源。是含有指令和数据的文件 比如qq.exe 进程: 进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 进程是**操作系统进行资源分配的最小单位,**其中资源包括:CPU、内存空间、磁盘IO等, 同一进程中的多条线程共享该进程中的全部系统资源.原创 2022-03-01 16:35:16 · 302 阅读 · 0 评论