
多线程
文章平均质量分 71
多线程、网络编程、Linux、JVM
一个想打拳的程序员
一个想打拳的程序员
展开
-
一文带你迅速掌握【文件操作】
文件IO操作—>操作硬盘。原创 2023-04-01 20:19:10 · 855 阅读 · 0 评论 -
【十四】一文带你了解下JUC中的常见组件
Callable的用法非常类似于 Runnable,描述了一个任务,一个线程要干什么。原创 2023-04-01 16:56:20 · 304 阅读 · 0 评论 -
【十三】一文带你了解下 synchronized 的实现原理
synchronized实现原理,无锁->偏向锁->轻量级锁(自旋锁)->重量级锁,锁的消除和锁的粗化原创 2023-03-31 17:56:09 · 462 阅读 · 0 评论 -
【十二】一文带你迅速掌握 CAS
compare and swap,字面意思:比较和交换寄存器 A 的值 和 内存 M 的值进行对比,如果值相同,就把寄存器B的值和M的值进行交换上述是伪代码来描述下CAS的操作,但是我们要知道,CAS操作,是一条CPU指令!(是靠的CPU支持)是原子性操作!原创 2023-03-31 16:38:57 · 305 阅读 · 0 评论 -
【十一】一文带你迅速掌握锁策略
锁得实现者,预测接下来锁冲突的概率(同个线程针对同一个对象加锁,产生阻塞等待)大不大,根据这个冲突的概率,来决定接下来该怎么做~乐观锁:假设数据一般情况下不会发生并发冲突,所以在数据进行提交更新的时候,才会正式对数据是否产生并发冲突进行检测,如果发现并发冲突了,则返回用户错误的信息,让用户决定如何去做悲观锁:总是假设最坏情况,每次对数据都会进行修改操作,所以在每次拿数据的时候都会上锁,这样其他线程想操作这个数据就会阻塞等待。原创 2023-03-30 16:58:09 · 805 阅读 · 4 评论 -
【十】一文带你迅速掌握线程池
所谓的线程池就是提前把线程准备好,创建线程不是直接从系统申请,而是从池子里拿~线程不用了,就还给池子~,线程的创建,虽然比进程轻量,但是在频繁创建的情况下,开销也是不可忽略的!那么问题来了,为什么在池子里面拿线程就要比系统创建线程更高效呢?下面简单介绍下用户态和内核态:一个操作系统 = 内核 + 配套的应用程序所谓的内核,就是操作系统最核心的功能模块集合,硬件管理、各种驱动、进程管理、内存管理、文件系统…原创 2023-03-29 20:37:45 · 328 阅读 · 1 评论 -
【九】一文带你迅速掌握定时器
所谓的定时器,可以理解为闹钟,当指定时间到,就会执行一个代码定时器是一种实际开发中常用的组件比如你打开一个网页,如果在多少时间没显示,就会断开连接,请求重试。可以看出进程并没有结束,这是因为 Timer 里内置了前台线程,会阻止进程的结束~原创 2023-03-29 16:47:04 · 122 阅读 · 0 评论 -
【八】一文带你迅速掌握阻塞队列
阻塞队列线程安全!原创 2023-03-29 11:34:50 · 202 阅读 · 3 评论 -
【七】一文带你迅速掌握设计模式中的单例模式
饿汉模式:天然线程安全,只是读操作懒汉模式:不安全的,有读也有写加锁,把 if 和 new 变成原子操作双重 if,减少不必要的加锁操作使用 volatile 禁止指令重排序,保证后续线程肯定能拿到的是完整对象。原创 2023-03-28 18:28:05 · 476 阅读 · 0 评论 -
【六】一文让你迅速掌握wait和notify
在上述代码中,虽然 t1 先执行的,但是我们可以通过 wait notify 控制 让 t2 先执行一些逻辑,在 t2 执行完之后,notify 唤醒 t1,t1 再继续往下执行。上述代码的执行流程是,当 t1 先执行,执行到 wait 就阻塞了,然后1s之后,t2 开始执行,执行到了notify 就会通知 t1 线程唤醒!此时抛出了一个异常,这是因为这把锁都没获取到,你就尝试解锁,3.当收到通知的时候,就唤醒,同时尝试重新获取锁~首先最大的区别是设计的初心不同~原创 2023-03-27 21:09:15 · 367 阅读 · 0 评论 -
【四】Thread类中start和run的区别
之后,此时控制台输出结果只有hello thread,此时因为并没有创建新的线程,所以当执行run()进入方法后,就开始死循环,由于只有一个main线程,所以就无法再执行打印hello main。运行上述代码后,我们可以通过控制台看到输出得结果是:有两个线程在执行,此时调用得是。原创 2023-03-20 08:34:59 · 90 阅读 · 0 评论 -
【五】线程安全VS线程不安全
线程安全vs线程不安全,synchronized、volatile关键字的使用原创 2023-03-27 10:24:47 · 2230 阅读 · 8 评论 -
【三】创建线程有几种方式呢?
使用 Runnable interface 来描述线程入口} }原创 2023-03-16 15:52:30 · 78 阅读 · 0 评论 -
【二】进程VS线程
进程和线程的区别原创 2023-03-16 10:49:01 · 90 阅读 · 0 评论 -
【一】进程到底是个啥?
进程(process):一个运行起来的程序,就是进程!,我们可以在任务管理中看到进程。进程是操作系统进行资源分配的基本单位。原创 2023-03-15 21:09:20 · 539 阅读 · 0 评论