上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: CompletionService实际上可以看做是Executor和BlockingQueue的结合体。CompletionService在接收到要执行的任务时,通过类似BlockingQueue的put和take获得任务执行的结果。 CompletionService的一个实现是ExecutorC 阅读全文
posted @ 2021-02-09 10:09 苏黎世湖畔 阅读(331) 评论(0) 推荐(0)
摘要: 假设服务器有一个computer复杂运算,耗时较久,如果服务器要实现缓存,一种思路就是通过HashMap或者redis来做缓存 下面是使用HashMap的简单示例,源码取自《并发编程实战》 1 package net.jcip.examples; 2 3 import java.math.BigIn 阅读全文
posted @ 2021-01-31 15:32 苏黎世湖畔 阅读(125) 评论(0) 推荐(0)
摘要: 1 import java.util.concurrent.Exchanger; 2 import java.util.concurrent.ExecutorService; 3 import java.util.concurrent.Executors; 4 5 /** 6 * @author s 阅读全文
posted @ 2021-01-31 14:53 苏黎世湖畔 阅读(64) 评论(0) 推荐(0)
摘要: 先抛个问题,如果一个线程池的核心线程是5,目前3个核心线程被创建,其中1个在运行,2个空闲,缓存队列为空。此时新进来一个任务,线程池会做什么操作? 空闲的核心线程会直接执行这个任务吗? 会先丢到队列里再说吗? 答案都是否定的。 我们看下下面的线程处理流程图 别人说的都不算,还得看源码,摘出了java 阅读全文
posted @ 2021-01-31 14:31 苏黎世湖畔 阅读(501) 评论(0) 推荐(0)
摘要: CyclicBarrier默认的构造方法是CyclicBarrier(int parties),parties表示栅栏需要拦截的线程数量。 每个线程调用await方法,计数器减1,减少为0前所有线程都必须等待。 CyclicBarrier还提供一个更高级的构造函数CyclicBarrier(int 阅读全文
posted @ 2021-01-31 14:03 苏黎世湖畔 阅读(95) 评论(0) 推荐(0)
摘要: Semaphore 美[ˈseməfɔːr] 信号量Semaphore 可以用于做流量控制,特别是公用资源有限的应用场景,比如数据库连接。Semaphore的构造方法 Semaphore(int permits)接受一个整型的数字,表示可用的许可证数量。Semaphore(10)表示允许10个线程获 阅读全文
posted @ 2021-01-31 13:49 苏黎世湖畔 阅读(230) 评论(0) 推荐(0)
摘要: 1 import java.util.concurrent.CountDownLatch; 2 3 /** 4 * @author sulishi 5 * @version 1.0 6 * @date 2021/1/31 7 */ 8 public class CountDownLatchTest 阅读全文
posted @ 2021-01-31 13:17 苏黎世湖畔 阅读(99) 评论(0) 推荐(0)
摘要: 线程安全:当多个线程访问某个类时,不管运行时环境采用和种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。 竞态条件:基于一种可能失效的观察结果来做出判断或者执行某个计算。这种类型的竞态条件称为“先检查后执行”,常 阅读全文
posted @ 2021-01-09 15:23 苏黎世湖畔 阅读(130) 评论(0) 推荐(0)
摘要: 1 //成员变量calendar,多线程下共享 2 protected Calendar calendar; 3 4 private StringBuffer format(Date var1, StringBuffer var2, FieldDelegate var3) { 5 this.cale 阅读全文
posted @ 2021-01-09 15:20 苏黎世湖畔 阅读(100) 评论(0) 推荐(0)
摘要: 1.HTTP是什么 HyperText Transfer Protocol 超文本传输协议 超文本:文字、图片、视频的混合体 传输: 计算机网络两点之间传输(双向、中间可有若干点) 协议:遵守一定的约定和规范 2.Http常见的状态码 1**:协议处理中的一种中间状态 2**:服务器成功处理了客户端 阅读全文
posted @ 2020-08-03 10:21 苏黎世湖畔 阅读(188) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 下一页