多线程
文章平均质量分 92
多线程
梁云亮
电 话:13264494458
微 信:13264494458
扣 扣:369950806
展开
-
Java线程池 之 ThreadPoolExecutor
Java 线程池理论基础在多线程处理中,有手工创建线程与线程池2种处理方式,手工创建线程存在管理与维护繁琐的问题。比如自定义线程后,使用阿里巴巴的Alibaba Java Coding Guidelines插件检查会提示错误信息“不要显示式创建线程,请使用线程池”,如下图所示:Java通过Executors提供四种线程池,分别为:newCachedThreadPool( ):创建一个可...原创 2019-10-30 12:09:36 · 734 阅读 · 0 评论 -
Java线程池 之 Executors
Java 线程池理论基础在多线程处理中,有手工创建线程与线程池2种处理方式,手工创建线程存在管理与维护繁琐的问题。比如自定义线程后,使用阿里巴巴的Alibaba Java Coding Guidelines插件检查会提示错误信息“不要显示式创建线程,请使用线程池”,如下图所示:Java通过Executors提供四种线程池,分别为:newCachedThreadPool( ):创建一个不...原创 2019-11-03 17:21:02 · 309 阅读 · 0 评论 -
Java线程基础 之 创建线程
Java 线程基础 之 创建线程实现Runnable接口创建线程继承Thread类创建线程使用Callable创建线程原创 2019-11-03 18:35:21 · 224 阅读 · 0 评论 -
【精品】ThreadLocal
ThreadLocal简介ThreadLocal通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题,它为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal提供了线程内存储变量的能力,利用它可以在指定线程内存储数据,数据存储以后,只有指定线程可以得到存储数据。ThreadLocal采用采用空间来换取时间的方式,解...原创 2019-11-12 15:34:27 · 868 阅读 · 1 评论 -
多线程 之 线程同步
线程同步示例:车票多窗口售票。第一步:定义类表示车票池类:public class TicketPool { //值表示一共有多少张票,票号 private int ticketAmount =20; public synchronized int getTicket(){ //锁的是当前对象,即票池 int temp = ticketAmou...原创 2020-02-10 23:26:06 · 184 阅读 · 0 评论 -
线程的状态
理论线程的状态分为:新建(NEW):线程对象对象刚被创建,执行start()之前。可运行(RUNNABLE):线程对象创建后,调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度器选中,获取cpu的使用权 。运行(RUNNING):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序代码。阻塞(BLOCKED):阻塞状...原创 2020-02-12 20:06:49 · 305 阅读 · 0 评论 -
多线程 之 join
原理join()方法以能把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程,让指定的线程先执行完。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。比如:t.join(); //使调用线程 t 在此之前执行完毕。t.join(1000); //等待 t 线程1000毫秒示例public class JoinDem...原创 2020-02-13 00:50:36 · 268 阅读 · 0 评论 -
多线程 之 synchronized
理论关键字Synchronized是Java中解决并发问题的一种最常用,最简单的方法 ,它可以确保线程互斥的访问同步代码。关键字synchronized可以保证方法或者代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还可以保证共享变量的内存可见性。Java中每一个对象都可以作为锁,这是synchronized实现同步的基础。Synchronzed有以下三种应用方式:普通同步...原创 2020-02-13 01:21:46 · 347 阅读 · 0 评论 -
生产者消费者问题
操作数据库出现错误: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed解决方案:在连接数据库的url中,加上allowPublicKeyRetrieval=true参数。很神...原创 2019-11-20 07:56:59 · 432 阅读 · 0 评论 -
多线程 之 线程死锁
相关博客:多线程 之 线程同步通过生产者消费者模拟线程死锁产品池public class ProductPool { private int threshold = 1; //仓库中只能存一个产品 private LinkedList<Integer> pool = new LinkedList<>();//放产品 //同一时刻只能有一个...原创 2020-02-23 13:37:20 · 281 阅读 · 0 评论