【多线程】
Java多线程
Mandy_i
科技让生活更美好,终身学习的践行者
展开
-
【JUC】——深入浅出搞懂线程池
线程池一个并不陌生的概念,印象中的线程池经常使用,但是却不怎么了解原理。本文主要从线程出发,讲解线程池的使用,以及线程池的底层原理。线程创建线程的方式 继承Thread类 实现Runnable接口 实现Callable接口通过FutureTask包装器来创建Thread线程 但是从本质上来讲,java中创建线程的方式只有一种,就是实现Runable接口,即所以的线程都实现了run()方法。下面可以通过java中的UML图进行证明先看个线程的使...原创 2020-09-27 00:47:52 · 340 阅读 · 0 评论 -
CMQ——多线程实现自动拉取消息
何为CMQ? 腾讯云消息队列(Cloud Message Queue,CMQ)是一种分布式消息队列服务,它能够提供可靠的基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)之间的收发消息,存储在可靠有效的 CMQ 队列中,防止消息丢失。 CMQ 支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。——来源以及更多内容推荐看官方文档。 ...原创 2019-07-21 17:48:41 · 5850 阅读 · 4 评论 -
【多线程】——Callable创建多线程
之前小编的博客简单介绍了两种创建线程的方式,随着小编工作过程对这一部分的深入,对这一部分有更深入的理解,也知道其他创建多线程方式,在原来的基础在深入一下!回顾两种经典的线程创建方式1、继承Thread类创建线程类2、实现Runnable接口创建线程类演示一种利用lambda表达式创建线程的方式 public static void main(String[] args) { Thr...原创 2018-06-10 09:29:59 · 1628 阅读 · 5 评论 -
【多线程】——synchronized关键字
synchronized是Java中的关键字,意思为同步,通常在Java中用于多线程的场景下,代表着同步锁。可以修饰方法,变量。简单理解如果使用了在方法上或者在代码块上使用代表,无论哪个线程只要每次调用同一个对象并且运行使用synchronized修饰代码都需要验证有没有正在使用这段代码的线程,如果有则需要等其他线程之后完成后才能继续调用。什么时候需要使用synchronized? ...原创 2018-06-06 14:43:45 · 259 阅读 · 3 评论 -
【多线程】——深入理解线程中断方式(interrupt)
最近在系统回顾多线程这一部分的内容,对线程中断方式这一部分相比之前有了不同的认识。整理一下,如有理解偏颇之处,还请各位大神不惜赐教。 在看高洪岩《Java多线程编程核心技术》的时候里面讲了很多种停止线程方式,其实仔细回想起来停止线程并没有那么复杂。总体整理下来就三种方式!1、正常退出;2、stop暴力停止(不再推荐使用);3、异常法;1、正常退出当线程中run()或者call()按照...原创 2018-06-06 11:02:54 · 12089 阅读 · 10 评论 -
【多线程】——停止线程的三种方式
前提 停止线程是在多线程开发时非常重要的方式,掌握线程的停止可以对线程的停止进行有效的处理。停止线程在Java中不像break那样干脆,而需要一些技巧性。停止线程的方式有三种,分别展示一下方式一使用退出标识,使得线程正常退出,即当run方法完成后进程终止。public void run() { while(flag){ //do something }}利用...原创 2018-04-28 18:33:47 · 30315 阅读 · 25 评论 -
【多线程】——Thread VS Runnable
进程和线程的关系 多个线程构成一个进程,线程是进程中的一个元素,例如QQ.exe查看电脑进程的时候发现只有一个进程,但是我们可以同时和多个用户聊天交流,而且可以一边聊天,刷空间之类。对每一个用户的聊天就是一个线程,多个用户的互动构成进程。 演示一个不使用多线程的Demo,也就是单线程public class SingleDemo{ public static void main(St...原创 2017-05-07 19:39:05 · 678 阅读 · 16 评论 -
【多线程】——start() vs run() 以及this vs Thread.currentThread()
前提 最近在学习多线程这一部分的内容,学习过程遇到不太理解的方法,特此总结一下。如果从开始,先了解一下如何创建线程《Thread VS Runnable》start()和run()public class MyThread extends Thread { public MyThread() { System.out.println("构造方法的打印:" + Thr...原创 2018-04-25 12:00:34 · 297 阅读 · 17 评论