![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
多线程
二次觉醒
路靠自己去走,才能越走越宽。
展开
-
线程的创建与启动
(2)定义一个类实现Runnable(),重写run方法。(1)定义一个类继承Thread(),重写run方法。(3)通过new关键字创建线程。原创 2022-10-23 12:30:14 · 65 阅读 · 0 评论 -
创建线程池
keppAliveTime:当线程池线程的数量超过 corePoolSize 时,多余的空闲线程的存活时长,即空闲线程在多长时间内销毁。wirkQueue:任务队列,把任务提交到该任务队列中等待执行。handler:拒绝策略,当任务太多,来不及处理时,如何拒绝。可以查看所有的线程池,下面是我在JDK8下创建的线程池。maximumPoolSize:指定线程池中最大线程数量。corePoolSize:指定线程池中核心线程的数量。ThreadFactory:线程工厂,用于创建线程。原创 2022-10-21 17:55:29 · 108 阅读 · 0 评论 -
线程中的常用方法
start()run()原创 2022-09-20 18:49:10 · 61 阅读 · 0 评论 -
同步与异步
从调用方法的角度来讲,如果(1)需要等待结果返回,才能继续运行代码就是同步(2)不需要等待结果返回,就能继续运行是异步原创 2022-09-20 16:37:42 · 87 阅读 · 0 评论 -
串行、并发与并行
**并发**单核cpu下,线程实际还是串行执行的。操作系统中有一个组件叫做任务调度器,将cpu的时间片(Windows下时间片最小约为15毫秒)分给不同的线程使用,只是由于cpu在线程间的切换非常快,人类感觉是同事运行的。一般会将这种线程轮流使用cpu的做法称为并发。**并行**多核cpu下,每个核(core)都可以调度运行线程,这时候线程可以是并行的。引用Rob Pike的一段描述:并发(concurrent)是同一时间应对(dealing with)多件事情的能力并行(parallel原创 2022-09-20 16:30:24 · 825 阅读 · 0 评论 -
进程与线程
**进程**(1)程序由指令和数组组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的。(2)当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。(3)进程可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如笔记本、画图、浏览器等),也有的程序只能启动一个实例进程(例如网易云、360安全卫士等)**线程**(1)一个进程之内可以分为一到多个线程(2)一个原创 2022-09-20 16:29:31 · 142 阅读 · 0 评论