【今日推荐】十八岁出门远行
柏油马路起伏不止,马路像是贴在海浪上。我走在这条山区公路上,我像一条船。这年我十八岁,我下巴上那几根黄色的胡须迎风飘飘,那是第一批来这里定居的胡须,所以我格外珍重它们。我在这条路上走了整整一天,已经看了很多山和很多云。所有的山所有的云,都让...
柏油马路起伏不止,马路像是贴在海浪上。我走在这条山区公路上,我像一条船。这年我十八岁,我下巴上那几根黄色的胡须迎风飘飘,那是第一批来这里定居的胡须,所以我格外珍重它们。我在这条路上走了整整一天,已经看了很多山和很多云。所有的山所有的云,都让...
倒计数器:CountDownLatchCountDownLatch从名字就可以看出其作用:初始化一个计数,然后每次递减,直至为0,然后触发一个动作。只有一个带参构造器:public CountDown...
当我们在做加锁处理共享资源时,对于读远大于写的场景,可以选择ReadWriteLock作为同步控制的工具。下面是读写锁的互斥关系:读写锁的互斥关系读写读非阻塞阻塞写阻塞阻塞从上面互斥关系可以看出,只有...
线程间通信:Condition对于线程间通信,大家最熟悉的莫过于Object.wait()、Object.notify()了。Condition的使用与前面的方法类似。 void await()...
线程的同步控制,最基础的就是synchronized关键字。但是在使用的过程中有一些限制,并没有那么的灵活。可重入所以下面介绍一下ReentrantLock的使用和相关特性,一个简单的demo如下:p...
线程分组线程分组可以理解为一些线程的分类。在多线程的程序当中,在调试或者打印日志的时候,众多的线程一般很难区分开来。但是通过线程的groupName和threadName可以清晰的看出是哪个线程。但是...
Java内存模型(JMM)在介绍volatile之前,先介绍一下java内存模型(JMM)。如下图所示:每个Java线程在运行的过程中,都有一个与之对应的工作内存,这个内存空间是线程私有的。当多个线程...
进程和线程进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。线程可以理解为轻量级进程,是程序执行的最小单位。一个进程可以包含一个或者多个线程...
在OpenResty里面做Lua开发,由于大多数的应用程序开发,使用的都是面向对象的编程方式。而Lua是一门脚本语言,如果不依赖OpenResty这样的中间件,一般不适合独立开发应用程序。那么在Ope...
OpenResty和TOMCAT服务器类似的提供了模板渲染的功能,类似于JAVA Web开发中的JSP。lua-resty-template插件模块并不是OpenResty官方的,官方目前提供了一个l...
通常来说,对于OpenResty的应用多数都会用到Redis,用以减少回源次数,从而加速网站。话不多说,先上一个demoredis_iresty.lua-- file name: resty/redi...