随笔分类 - 多线程
摘要:为什么要使用线程池? 为了减少创建和销毁线程的次数,让每个线程都可以多次的使用,可以根据系统情况调整线程的数量,防止消耗过多内存。在实际使用中,服务器在创建和销毁线程上花费的时间和消耗的系统资源都相当大,使用线程池就可以优化。 在java中,如果每个请求到达就创建一个新线程,开销是相当大的。在实际使
阅读全文
摘要:1、什么是线程池java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。假设一个服务器完
阅读全文
摘要:一、在windows命令行窗口下执行:运行--cmdC:\>netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448端口被进程号为2448的进程占用,继续执行下面命令:C:\>tasklist|findstr "244
阅读全文
摘要:1、两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁)。 wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地
阅读全文
摘要:目录 前言 线程局部变量 使用示例 具体实现 ThreadLocalMap 副本变量存取 ThreadLocal 散列值 应用场景 参考文章 目录 前言 线程局部变量 使用示例 具体实现 ThreadLocalMap 副本变量存取 ThreadLocal 散列值 应用场景 参考文章 ThreadLo
阅读全文