Wesley13 Wesley13
3年前
Java 并发编程:任务执行器 Executor 接口
任务执行器(Executor)是一个接口,位于java.util.concurrent包下,它的作用主要是为我们提供任务与执行机制(包括线程使用和调度细节)之间的解耦。比如我们定义了一个任务,我们是通过线程池来执行该任务,还是直接创线程来执行该任务呢?通过Executor就能为任务提供不同的执行机制。执行器的实现方式各种各样,常见的包括同步执行器、一对一执行
Wesley13 Wesley13
3年前
Java学习笔记7
lock接口实现类ReentrantLock我们可以用lock对象,来对临界资源加锁,只有获得lock对象才能访问临界资源,如果没有获得lock对象,就会进入lock对象的锁池。trylock()方法会返回布尔值,这个方法是用来判断这个锁对象是不是已经被线程获取,如果返回值为true,则会直接获得这个锁对象,如果返回false,线程不会阻塞还会继
Stella981 Stella981
3年前
Epoll 服务器示例
epoll服务器示例,监听5000个端口,使用线程池收藏运行这个程序需要预先设置栈内存和文件描述符上限,否则运行失败ulimitn16384ulimits4096文件名:server.c编译:gccserver.cWallO2pthreadoserverinclude<unist
Wesley13 Wesley13
3年前
BIO和NIO
BIO:同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。 NIO(事件驱动):同步非阻塞式IO,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动
Stella981 Stella981
3年前
AsyncTask 工作原理分析
AsyncTask相信大家对他的使用并不陌生,它是谷歌官方提供的一种轻量级别的异步任务类,底层封装的是两个线程池和一个Handler.sDefaultExecutorSERIAL\_EXECUTOR用来Runnable排队用的,THREAD\_POOL\_EXECUTOR是用来真正执行任务的.我们先从execute()开始分析,execute
Wesley13 Wesley13
3年前
MySQL企业版之Audit(审计)初体验
MySQL企业版审计(AUDIT)插件试用体验。MySQL企业版的优势在于有原厂技术支持,以及几个相当不错的功能插件,例如TransparentDataEncryption(TDE)(透明数据加密)、Audit(审计)、threadpool(线程池)、firewall(防火墙)、DataMasking(数据打码)等功能
深入浅出线程池 | 京东云技术团队
一、线程1、什么是线程线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。2、如何创建线程2.1、JAVA中