
JavaSE-多线程
Java多线程笔记
「已注销」
这个作者很懒,什么都没留下…
展开
-
线程池:ThreadPoolExecutor
1.线程池ThreadPoolExecutor引入思路:创建好多个线程,放入线程池中,使用时直接获取引用,不使用时放回池中。可以避免频繁创建销毁、实现重复利用2.JDK1.5起,提供了内置线程池3.线程池的好处:提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程池中线程,不需要每次都创建)提高线程的可管理性:避免线程无限制创建、从而销耗系统资源,降低系统稳定性,甚至内存溢出或者CPU耗尽4.线程池的应用场合:需要大量线程,并且完成任务的时间短对性能要求苛刻接受突发性的大原创 2021-08-15 20:48:24 · 136 阅读 · 0 评论 -
同步方法及Lock锁情况下的线程通信
涉及线程的同步和通信假设仓库中只存放一件产品,如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止,如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止。使用 同步方法或Lock锁进行线程通信时,两者唯一不同的是商品类,其他的(消费者线程,生产者线程,测试类都是相同的)1.同步方法下的商品类package com.yue2.commu4;//同步方法下的线程通信public class Product {原创 2021-08-15 20:03:08 · 168 阅读 · 0 评论 -
同步代码块情况下的线程通信
涉及线程的同步和通信假设仓库中只存放一件产品,如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止,如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止。//商品类public class Product { private String name;//名称 馒头 玉米饼 private String color;//颜色 白色 黄色 boolean flag = false;//默认没原创 2021-08-15 18:33:45 · 82 阅读 · 0 评论 -
线程同步
实现线程同步的三种方法:同步代码块,同步方法,Lock锁首先以银行取款为例:张三与其妻子同时对一个银行账户进行取款操作,此过程涉及三个类即银行账户类Account,取款线程AccountRunnable 及测试类TestAccount 线程同步的三种方法只是AccountRunnable的不同,因此可将Account,TestAccount提出来银行账户类package com.yue.synch0;public class Account { private int balance=60原创 2021-08-15 16:21:53 · 175 阅读 · 0 评论 -
线程的定义和创建
线程的定义和创建有三种方式:继承Thread类,实现Runnable接口,实现Callable接口第一种:继承Thread类//创建一个乌龟类线程:方法一:继承Thread类/*步骤: * 1.定义一个线程:public class TortoiseThread extends Thread { * public void run() {} }//重写run方法 *2.创建线程对象: Thread thread = new TortoiseThread原创 2021-08-15 15:15:29 · 100 阅读 · 0 评论