来源:www.jianshu.com/p/098819be088c 前言 Java中的线程池十分重要,无论是在实际应用中还是应对面试 一、线程池原理 1.1 使用线程池的好处 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要 ...
分类:
编程语言 时间:
2019-01-14 20:18:04
阅读次数:
244
什么是线程 进程:资源分配单位 线程:cpu执行单位(实体),每一个py文件中就是一个进程,一个进程中至少有一个线程 线程的两种创建方式: 一 二 线程的创建和销毁,相对于进程来说开销特别小 线程之间资源共享,共享的是同一个进程中的资源, 资源共享就涉及到数据安全问题,加锁来解决 线程锁 From ...
分类:
编程语言 时间:
2019-01-14 17:18:18
阅读次数:
143
###############总结############ 线程创建的2种方式(重点) 进程:资源分配单位 线程:cpu执行单位(实体) 线程的创建和销毁的开销特别小 线程之间资源共享,是同一个进程中的资源共享,会涉及到安全问题,所以需要加锁解决 锁:牺牲了效率,保证了数据安全(重点) 死锁现象:出 ...
分类:
编程语言 时间:
2019-01-12 00:24:08
阅读次数:
225
Python数据库连接池DBUtils DBUtils是Python的一个用于实现数据库连接池的模块。 此连接池有两种连接模式: 模式一:为每个线程创建一个连接,线程即使调用了close方法,也不会关闭,只是把连接重新放到连接池,供自己线程再次使用。当线程终止时,连接自动关闭。 POOL = Per ...
分类:
数据库 时间:
2019-01-11 15:59:57
阅读次数:
217
1.1 创建线程 1.1.1 无返回值的线程创建 package com.first; public class ThreadTest { public static void main(String[] args) { System.out.println("主线程ID:"+Thread.curr ...
分类:
编程语言 时间:
2019-01-09 16:41:00
阅读次数:
213
// 单向光闸写入文件线程 new Thread(new Runnable() { // 将map转为json JSONObject obdjson = new JSONObject(data); @Override public void run() { ... ...
分类:
编程语言 时间:
2019-01-08 14:57:34
阅读次数:
226
Java多线程(Thread类、线程创建、线程池) 第一章 多线程 1.1 多线程介绍 1.1.1 基本概念 进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行 ...
分类:
编程语言 时间:
2019-01-07 23:33:19
阅读次数:
263
AIO简介 我们知道NIO是同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。 而AIO则是则是异步非阻塞的,并且提供了异步文件通道和异步套接字通道的实现。主要通过两种方式获取操作的结果: 通过Fut ...
分类:
其他好文 时间:
2019-01-06 15:38:53
阅读次数:
109
std::future和std::promise std::future std::future期待一个返回,从一个异步调用的角度来说, future更像是执行函数的返回值 ,C++标准库使用std::future为一次性事件建模,如果一个事件需要等待特定的一次性事件,那么这线程可以获取一个futu ...
分类:
编程语言 时间:
2019-01-02 10:37:57
阅读次数:
451
知识补充 threading.local 作用:为每个线程创建一个独立的空间,使得线程对自己的空间中的数据进行操作(数据隔离)。 """ import threading from threading import local import time obj = local() def task(i ...
分类:
其他好文 时间:
2019-01-01 14:04:02
阅读次数:
168