![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
文章平均质量分 87
学后端的小萝卜头
全网最全java笔记,全网最全mysql笔记,0基础和大家一起学后端,记录学后端的过程和笔记,跟着我学后端。。。
展开
-
线程池简单介绍
1.线程池1.1 线程池思想概述我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。今天我们就来详细讲解一下Java的线程池。1.2 线程池概念**线程池:**其实就是一个容纳多个线原创 2021-02-19 20:37:48 · 84 阅读 · 0 评论 -
生产者消费者问题---解决吃包子问题(等待唤醒机制)
1. 等待唤醒机制1.1 线程间通信概念: 多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。 比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。为什么要处理线程间通信: 多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,并且我们希望他们有规律的执行, 那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数原创 2021-02-19 20:19:47 · 217 阅读 · 0 评论 -
java线程的6种状态快速理解
1.线程状态1.1 线程状态概述 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中, 有几种状态呢? 在API中 java.lang.Thread.State 这个枚举中给出了六种线程状态: 这里先列出各个线程状态发生的条件,下面将会对每种状态进行详细解析线程状态导致状态发生条件NEW(新建)线程刚被创建,但是并未启动。还没调用start方法。Runnable(可 运行)线程可以在java虚拟机中运行的状态,可能正在原创 2021-02-19 16:44:50 · 118 阅读 · 0 评论 -
java中解决线程安全的方法(1.同步代码块 2.同步方法 3.lock锁)
1. 线程安全1.1线程安全如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样 的,而且其他的变量的值也和预期的是一样的,就是线程安全的。我们通过一个案例,演示线程的安全问题: 电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是 “葫芦娃大战奥特曼”,本次电影的座位共100个 (本场电影只能卖100张票)。我们来模拟电影院的售票窗口,实现多个窗口同时卖 “葫芦娃大战奥特曼”这场电影票(多个窗口一起卖这100张票) 需要窗口,采用线程对象来模拟原创 2021-02-19 16:15:04 · 231 阅读 · 0 评论 -
java多线程原理(以及创建线程的两种方法)
1.线程1.1 多线程原理画个多线程执行时序图 来体现一下多线程程序的执行流程。代码如下:自定义线程类:public class MyThread extends Thread{ /** 利用继承中的特点 * 将线程名称传递 进行设置 */ public MyThread(String name){ super(name); } /** 重写run方法 * 定义线程要执行的代码 */ public void run(){ for (int i = 0; i <原创 2021-02-19 15:54:27 · 301 阅读 · 0 评论 -
java多线程中的并发与并行区别详解(3分钟快速了解)
1.多线程我们在之前,学习的程序在没有跳转语句的前提下,都是由上至下依次执行,那现在想要设计一个程序,边打游戏边听歌,怎么设计?要解决上述问题,咱们得使用多进程或者多线程来解决.1.1 并发与并行并发:指两个或多个事件在同一个时间段内发生。并行:指两个或多个事件在同一时刻发生(同时发生)。在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分原创 2021-02-19 14:08:13 · 2006 阅读 · 0 评论