一、线程池概念 1.1 线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。 1.2 我们详细的解释一下为什么要使用线程池? 在java中,如果每个请求到达就创建一个新线程,开销是相当大的。在实际使用中,创建和销毁线程花费的时 ...
分类:
编程语言 时间:
2020-05-31 19:57:50
阅读次数:
54
##线程状态 NEW:刚创建未启动的线程 RUNNABLE:正在执行状态 BLOCKED:处于阻塞状态的线程 WAITING:正在等待另一个线程执行特定动作的线程 TIMED_WAITING:等待另一个线程执行时间到达指定时间 TERMINATED:线程退出执行 public class TestS ...
分类:
编程语言 时间:
2020-05-31 19:40:59
阅读次数:
63
一、无等待,直接出票【虽然解决了不会冲票问题,但显然不符合实际生活】: package com.thread.sale; public class Sale { public static void main(String[] args) {//悟,那么设计爬虫的时候,下载的资源唯一,使用多线程下载 ...
分类:
编程语言 时间:
2020-05-30 21:38:10
阅读次数:
111
多线程 一、什么是多线程? 进程:正在执行的程序。 线程:可以理解成进程中独立运行的子任务,一个进程至少有一个线程。 多线程:一个进程中有多个线程。 二、为什么要使用多线程? 为了更好地利用CPU资源。 进程之间不能共享数据,线程可以。 系统创建进程需要为该进程重新分配系统资源,创建线程代价比较小。 ...
分类:
编程语言 时间:
2020-05-30 20:00:12
阅读次数:
59
许多人对于计算机的运行原理不了解,甚至根本不了解。 不幸的是,此类中的一部分人也参与了计算机的编码工作。可想而知,编写的效率和结果。听者伤心,闻者流泪。 此类同学的常见的误解: 并发就能加快任务完成 任务的总完成时间大约=单线程理论完成时间/线程个数 实际情况,和误解不同。 为何,主要因为以下几个因 ...
分类:
编程语言 时间:
2020-05-30 15:55:40
阅读次数:
71
线性结构与切片 线性结构 列表、元组、字符串、bytes, bytearray 共同点:都是顺序存储, 顺序访问的, 都是可迭代对象, 都可以通过索引访问 线性结构特征 可迭代 len获取长度 可以使用下标操作符通过索引访问 可以切片 例如:可迭代的表现形式 In [1]: for i in [1, ...
分类:
其他好文 时间:
2020-05-28 23:49:04
阅读次数:
69
Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。 这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个 ...
分类:
编程语言 时间:
2020-05-28 16:30:28
阅读次数:
53
多线程详解 1.简介 任务:包括用户对计算机操作时的各个动作及所对应的响应事件,如鼠标单击、右击、打开一个对话框、关闭一个文件、启动一个程序等。 程序:指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。 进程(Process)则是执行程序的一次执行过程,是一个动态的概念,是系统资源分 ...
分类:
编程语言 时间:
2020-05-27 20:29:10
阅读次数:
80
一文读懂JAVA多线程背景渊源摩尔定律提到多线程好多书上都会提到摩尔定律,它是由英特尔创始人之一GordonMoore提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度。可是从2003年开始CPU主频已经不再翻倍,而是采用多核,而不
分类:
编程语言 时间:
2020-05-27 15:10:18
阅读次数:
75
创建多线程和线程池 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; //开启的线程数 int threa ...
分类:
编程语言 时间:
2020-05-26 21:58:56
阅读次数:
95