前言 在《透彻理解Spring事务设计思想之手写实现》中,已经向大家揭示了Spring就是利用ThreadLocal来实现一个线程中的Connection是同一个,从而保证了事务。本篇博客将带大家来深入分析ThreadLocal的实现原理。 ThreadLocal是什么、有什么、能做什么? Thre ...
分类:
其他好文 时间:
2019-03-20 09:13:15
阅读次数:
153
1. 如果用户的请求比较费时,可以考虑将用户的请求信息放到队列中,立即返回给用户处理中等信息,这样可以给用户比较流畅的体验,后端可以利用单独的服务消费消息,做到了解耦,提高了并发能力。 2. 本文使用jdk为我们提供的阻塞队列api,来实现一个基于内存的简单消息队列。主要涉及的接口BlockingQ ...
分类:
编程语言 时间:
2019-03-20 01:22:21
阅读次数:
486
Thrift的基本结束 Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过IDL(Interface Definition Language,接口定义语言)来定义RPC(Remote Procedure Call,远程 ...
分类:
其他好文 时间:
2019-03-20 01:18:53
阅读次数:
188
微软的Task已经出来很久了,一直没有去研究,以为就是和Thread差不多的东西。直到最近看到了Task的使用介绍,发现比Thread的语法要精炼多了,于是便在项目中用上了。 结果就出问题了,数据库连接池用一段时间就满了,排除了各种原因,最后开始怀疑是不是Task有什么不为人知的隐患。 由于对Tas ...
分类:
Web程序 时间:
2019-03-19 18:57:34
阅读次数:
195
public class InterruptDemo { public static void main(String[] args) throws InterruptedException{ Thread t1 = new Thread(){ public void run(){ while (t ...
分类:
编程语言 时间:
2019-03-19 16:31:47
阅读次数:
151
做一个简单的弹框提醒,这里需要用到线程,那什么是线程,我百度了一下,大概是这个意思: 通过System.Threading.Thread类可以开始新的线程,并在线程堆栈中运行静态或实例方法。可以通过Thread类的的构造方法传递一个无参数,并且不返回值(返回void)的委托(ThreadStart) ...
新建状态 当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新建状态时,程序还没有开始运行线程中的代码 就绪状态 一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法 ...
分类:
编程语言 时间:
2019-03-18 23:55:54
阅读次数:
307
1.线程概述 2.线程实现(2种方式) 2.1通过Thread子类实现(Run方法、Start方法) 2.2通过Runnable接口实现(Thread(Runnable target)) 方便实现线程共享 2.3 Thread和Runnable的区别 继承Thread类创建线程由于java的单重继承 ...
分类:
编程语言 时间:
2019-03-18 13:28:05
阅读次数:
169
private void Time(int i) { Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(i); sw.Stop(); Console.WriteLine(sw.ElapsedTicks / (decimal)Stopwa... ...
// 代码 public class MyThread extends Thread { public void run(){ for(int i=0;i<10;i++){ try { Thread.sleep(100); } catch (InterruptedException e) { e.p ...
分类:
编程语言 时间:
2019-03-17 23:34:52
阅读次数:
165