随笔分类 -  Java多线程

摘要:引言 设置两个窗口(线程),交替卖出100张票,一个线程卖寄数,一个线程卖偶数,要求交替卖出,最后数据 1 ,2,,3,4,5,6......100 1 /** 2 * @ClassName AlternatePrintThread 3 * @Description 设计两个线程,卖出1-100张票 阅读全文
posted @ 2022-12-28 08:35 zsq_fengchen 阅读(435) 评论(0) 推荐(0) 编辑
摘要:引言 ExecutorService线程池执行线程时有submit 和execute 两种方法,它们两者之间有什么区别了?可能平时我们只是运用,没有深究其区别,在此我们可以看看它们的区别? 1:executorService.execute() 1 public void execute(){ 2 阅读全文
posted @ 2022-11-11 13:32 zsq_fengchen 阅读(2155) 评论(1) 推荐(1) 编辑
摘要:1,线程池的作用 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果。 2,为什么要用线程池? (1).减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。 (2).可以根据系统的承受能力,调整线程池中工作线线程的数目, 阅读全文
posted @ 2022-10-20 19:19 zsq_fengchen 阅读(955) 评论(0) 推荐(0) 编辑
摘要:引言 在研究并发程序时,我们可能都知道volatile和synchronized是用于多线程中,用于线程安全和变量可见性的,但是具体两者怎么使用,有何区别可能还是稀里糊涂一知半解,在此就自己简单的理解总结一下二者的区别,和大家一块儿学习!我们需要了解java中关键字volatile和synchron 阅读全文
posted @ 2020-12-31 09:01 zsq_fengchen 阅读(584) 评论(0) 推荐(1) 编辑
摘要:1. 继承 Thread 类,然后调用 start 方法。 2. 实现 Runnable 接口的 run 方法, 然后再用 Thread 类包裹后,调用 start 方法。 3. 实现 Callable 接口的 call 方法,用 FutureTask 类包裹 Callable 对象。然后再用 Th 阅读全文
posted @ 2019-08-29 09:36 zsq_fengchen 阅读(543) 评论(0) 推荐(0) 编辑
摘要:(一)Java中线程协作的最常见的两种方式: (1)利用Object的wait()、notify()和notifyAll()方法及synchronized (2)使用Condition、ReentrantLock (二)Object类的wait()、notify()和notifyAll()方法 从这 阅读全文
posted @ 2019-07-03 09:46 zsq_fengchen 阅读(793) 评论(0) 推荐(0) 编辑
摘要:synchronized与Lock两者区别: 1:Lock是一个接口,而Synchronized是关键字。 2:Synchronized会自动释放锁,而Lock必须手动释放锁。 3:Lock可以让等待锁的线程响应中断,而Synchronized不会,线程会一直等待下去。 4:通过Lock可以知道线程 阅读全文
posted @ 2019-04-16 09:18 zsq_fengchen 阅读(4770) 评论(0) 推荐(0) 编辑
摘要:一、认识多线程中的 start() 和 run() 1。start(): 先来看看Java API中对于该方法的介绍: 使该线程开始执行;Java 虚拟机调用该线程的 run 方法。 结果是两个线程并发地运行;当前线程(从调用返回给 start 方法)和另一个线程(执行其 run 方法)。 多次启动 阅读全文
posted @ 2019-04-12 09:10 zsq_fengchen 阅读(30278) 评论(2) 推荐(7) 编辑
摘要:众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试中必问的题,一个好的Java程序员是必须对并发编程这块有所了解的。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步 同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后 阅读全文
posted @ 2018-12-27 10:00 zsq_fengchen 阅读(502) 评论(0) 推荐(1) 编辑
摘要:大家可能平时用HashMap比较多,相对于ConcurrentHashMap 来说并不是很熟悉。ConcurrentHashMap 是 JDK 1.5 添加的新集合,用来保证线程安全性,提升 Map 集合的并发效率。ConcurrentHashMap 使用了 Segment 的概念,默认有 16 个 阅读全文
posted @ 2018-12-05 16:45 zsq_fengchen 阅读(667) 评论(0) 推荐(0) 编辑
摘要:Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票窗口相当于各个线程。当我们做这个系统的时候可能会想到 阅读全文
posted @ 2018-10-31 11:32 zsq_fengchen 阅读(5554) 评论(1) 推荐(2) 编辑
摘要:Java中多线程实现方式主要有四种:1>继承Thread类、2>实现Runnable接口、3>实现Callable接口通过FutureTask包装器来创建Thread线程、4>使用ExecutorService、Callable、Future实现有返回结果的多线程。 其中前两种方式线程执行完后都没有 阅读全文
posted @ 2018-10-30 16:56 zsq_fengchen 阅读(732) 评论(0) 推荐(1) 编辑
摘要:进程死锁及解决办法: 一:死锁的概念: 死锁是进程死锁的简称 什么是死锁: 死锁是指多个进程循环等待他方占有的资源而无限的僵持下去的局面。很显然,没有外力作用,那么死锁涉及到的各个进程都将永远处于>封锁状态。计算机系统产生死锁的根本原因就是资源有限且操作不当。即为:一种原因是系统提供的资源太少了,远 阅读全文
posted @ 2018-10-26 14:35 zsq_fengchen 阅读(1790) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示