学而时习之,不亦说乎。|

随笔分类 -  Java笔记 / Java多线程

Java:谈谈线程池的使用?
摘要:简介 线程池是一种利用池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来。 核心参数 1、核心线程数 2、最大线程数 3、空闲线程最大存活时间 4、时间单位 5、线程等待队列 5、线程工厂 6、饱和策略 饱和策略 1、ThreadPoolE
43
0
0
Java多线程总结
摘要:概论 多线程是指多个任务同时执行,的目的是为了提高机器性能。实际上在单个cpu时,多线程只是看起来同时进行,在实际上某一时刻它只有一个程序在走。多核cpu同一时刻可以运行多个任务。多线程开发的目标是高可用,高性能,高并发。一个程序可以有多个进程,一个进程可以包含多个线程。 1、开启多线程 开启多线程
78
0
0
Java:ThreadLocal是什么?
摘要:ThreadLocal指的是每个线程使用的区域独立,互不干扰。 它的子类InheritableThreadLocal可以把数据传递给子线程。 一般创建为对象的静态属性。 常用方法: set (value) get(value) 子类的initialValue(),用于设置初始值。 示例 代码: pu
158
0
0
Java:能不能实现一个由指令重排引起的多线程不安全例子?
摘要:听说当两条指令互相不依赖的时候,在cpu或者jvm那儿可能会为了提高性能而进行指令重排。 数据依赖 比如下面两条代码就没有数据依赖: int a = 5; int b= 2; 这两条指令先后顺序并不影响程序运行逻辑,理论来说重排是没有问题的。 例子 但是,在多线程的时候就会出现问题,单个线程有依赖可
182
0
0
Quartz_任务调度器_对任务进行调度
摘要:Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。 导入并构建运行环境 简单示例 一个简单的quartz任务调度例子,实现了在1秒后执行HelloJob。 SimpleExample.java import static or
48
0
0
Java多线程定时调度器(Timer、TimerTask)
摘要:通过定时调度器可以对线程进行定时开启,周期性地开启,基本步骤: 1、创建一个调度器 new Timer(); 2、准备任务。 继承TimerTask类,重写run方法. 3、确定规则,开始执行。 由Timer对象调用schedule(TimerTask子类对象,线程开始时间,运行周期)方法或者sch
834
0
0
Java:如何使用消费者生产者模式来进行并发控制?
摘要:概论 举个例子:有一个固定容量的货架,生产者放商品进来,消费者拿商品出去,为了保证正常放入和正常拿出(数据的正确性,不会出现超过容量的存放,拿到空气)。使用同步块中的 wait 和 notifAll 方法进行控制。 形如 synchronized (被锁的对象) { 被锁的对象.wait(); //
46
0
0
Java:如何实现静态代理?
摘要:代理模式:由代理对象来帮你忙前忙后,你负责出现一下就好了。 静态代理模式:代理对象不可变,已经确定了的。 需要: 1.实现相同的接口。 2.真实角色。 3.代理角色,组合了真实角色(在代理角色里面加一个属性为真实对象,通过构造器获取)。 4.代理角色在共同的方法中调用真实角色的方法。 例子: /**
175
0
0
Java:如何开启一个线程?
摘要:Java多线程的几种创建方式
427
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起