多线程
文章平均质量分 88
寻烟的衣袖
这个作者很懒,什么都没留下…
展开
-
定时任务详解
定时任务原创 2022-10-13 10:14:52 · 11130 阅读 · 1 评论 -
Java线程池如何合理设置核心线程数
问题 :线程池数量设置为多少比较合理呢?线程数的设置的最主要的目的是为了充分并合理地使用 CPU 和内存等资源,从而最大限度地提高程序的性能,先判断是 CPU 密集型任务还是 IO 密集型任务:CPU 密集型任务和IO 密集型任务:比如像加解密,压缩、计算等一系列需要大量耗费 CPU 资源的任务,大部分场景下都是纯 CPU 计算。IO 密集型任务:比如像 MySQL 数据库、文件的读写、网络通信等任务,这类任务不会特别消耗 CPU 资源,但是 IO 操作比较耗时,会占用比较多时间。在知道如何判断任务原创 2022-03-30 11:51:55 · 1015 阅读 · 0 评论 -
线程启动的那些方式以及源码分析
Runnble先说说Runnable接口:package cic.threadpractice;public class RunnbaleTest implements Runnable { @Override public void run() { System.out.println(Thread.currentThread().getName()); } public static void main(String[] args) {原创 2020-10-28 17:20:08 · 270 阅读 · 0 评论 -
Unsafe对象 之LockSupport方法原理剖析
LockSupport 和 CAS 是Java并发包中很多并发工具控制机制的基础,它们底层其实都是依赖Unsafe实现为什么使用LockSupport类如果只是LockSupport在使用起来比Object的wait/notify简单,那还真没必要专门讲解下LockSupport。最主要的是灵活性。上边的例子代码中,主线程调用了Thread.sleep(1000)方法来等待线程A计算完成进入wait状态。如果去掉Thread.sleep()调用,代码如下:public class TestObjW原创 2020-10-28 15:36:11 · 484 阅读 · 3 评论 -
CompletableFuture分析和实战
研究了下CompletableFuture,感觉这个异步类很好用一. FutureJDK 5引入了Future模式。Future接口是Java多线程Future模式的实现,在java.util.concurrent包中,可以来进行异步计算。Future模式是多线程设计常用的一种设计模式。Future模式可以理解成:我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想做的事情。一段时间之后,我就便可以从Future那儿取出结果。Future的接口很简单,只有五个方原创 2020-09-04 11:04:49 · 542 阅读 · 0 评论 -
懒汉单例
昨个被老铁一句问题给问蒙了,懒汉单例存在什么问题,一看挺简单的啊,校招就经常看这种的吗,当时想的是双重锁安全的那些,但老铁的回答并不是线程安全方面的问题,于是我意识到了这里肯定是有猫腻的,认真查了下资料,做了下总结:从头开始看问题:package com.roocon.thread.t5;public class Singleton2 { private Singleton2(){ } private static Singleton2 instance; p原创 2020-08-18 10:38:28 · 136 阅读 · 0 评论 -
BIO,NIO,AIO原理详解
之前对BIO,BIO,AIO原理的了解仅仅限于白问话以及字面上的解释,如同经常看博文讲解的那种去银行排队取号的解释,但是还是发现自己不甚了解,今天从源码层好好学习下这些知识层面。基本概念:对于IO我们应该非常熟悉了,IO不仅仅针对文件的操作,网络编程socket的通信,就是IO操作。输入、输出流(InputStream、OutputStream)用于读取或写入字节,如操作图片、视频等,Reader和Writer 则用于操作字符,增加了字符编码功能。本质上计算机操作都是字节,不管是网络或者文件,Read原创 2020-07-23 21:24:49 · 1227 阅读 · 0 评论