![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
上了年纪的人还能怎样
这个作者很懒,什么都没留下…
展开
-
创建多线程方式四线程池
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ThreadPoolExecutor;/** * 创建线程的方式四:使用线程池 * * 好处: * 1.提高响应速度(减少了创建新线程的时间) * 2.降低资源消耗(重复利用线程池中线程,不需要每次都创建) * 3.便于线程管理 * corePoolSize.原创 2021-01-23 14:21:22 · 95 阅读 · 0 评论 -
创建多线程方式三实现Callable接口
package com.yang.java;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;public class ArrayTest {public static void main(String[] args) { Window3 td=new Window3(); FutureTask原创 2021-01-23 14:08:14 · 75 阅读 · 0 评论 -
线程通信的例题
package com.yang.java;/***wait():一旦执行此方法,当前线程就会进入阻塞状态,并释放同步监视器notify():一旦执行此方法,就会唤醒被wait()的一个线程,如果有多个线程被wait,就唤醒优先级高的notifyALL():一旦执行此方法就会唤醒被wait的线程**/import java.util.concurrent.locks.ReentrantLock;public class ArrayTest {public static void main(原创 2021-01-23 13:43:15 · 104 阅读 · 0 评论 -
Lock锁方式解决安全问题
package com.yang.java;import java.util.concurrent.locks.ReentrantLock;public class ArrayTest {public static void main(String[] args) { Window3 td=new Window3(); Thread t1 = new Thread(td); Thread t2 = new Thread(td); Thread t3 = new T原创 2021-01-23 13:07:06 · 366 阅读 · 0 评论 -
使用同步机制将单例模式中的懒汉式改写为线程安全的
/** * 使用同步机制将单例模式中的懒汉式改写为线程安全的 * * @author shkstart * @create 2019-02-15 下午 2:50 */public class BankTest {}class Bank{ private Bank(){} private static Bank instance = null; public static Bank getInstance(){ //方式一:效率稍差//转载 2021-01-23 02:12:33 · 87 阅读 · 0 评论 -
使用同步锁对象
class Window1 implements Runnable{ private int ticket = 100;// Object obj = new Object();// Dog dog = new Dog(); @Override public void run() {// Object obj = new Object(); while(true){ synchronized (this){//原创 2021-01-23 01:53:24 · 99 阅读 · 0 评论 -
使用同步方法解决线程安全问题
package com.yang.java;//4.在Java中,我们通过同步机制,来解决线程的安全问题。//*//* 方式一:同步代码块//*//* synchronized(同步监视器){//* //需要被同步的代码//*//* }//* 说明:1.操作共享数据的代码,即为需要被同步的代码。 -->不能包含代码多了,也不能包含代码少了。//* 2.共享数据:多个线程共同操作的变量。比如:ticket就是共享数据。//* 3.原创 2021-01-23 01:50:58 · 77 阅读 · 0 评论 -
线程的生命周期以及使用同步代码块解决线程安全问题
线程的生命周期新建,就绪,阻塞,运行,阻塞,凋亡同步代码块处理实现Runnable的线程安全问题package com.yang.java;//4.在Java中,我们通过同步机制,来解决线程的安全问题。//*//* 方式一:同步代码块//*//* synchronized(同步监视器){//* //需要被同步的代码//*//* }//* 说明:1.操作共享数据的代码,即为需要被同步的代码。 -->不能包含代码多了,也不能包含代码少了。//*原创 2021-01-23 01:43:48 · 75 阅读 · 0 评论 -
实现多线程的方式二实现Runnable接口
package com.yang.java;//创建继承Thread 类的子类//重写Thread 类的RUN方法//创建Thread类的子类对象//调用Start()public class ArrayTest {public static void main(String[] args) { TestDemo ts=new TestDemo(); Thread t=new Thread(ts); t.start();}}class TestDemo implem原创 2021-01-22 23:54:19 · 73 阅读 · 0 评论 -
多线程基本概念以及实现Thread接口之一
进程是程序的一次执行过程,或者正在执行的程序线程是进程可进一步细化为线程,是一个程序执行的路径并行:多个CPU同时执行多个任务并发:一个CPU同时执行多个任务多线程的优点提高程序的响应提高计算机计算的速度实现线程的方式,继承Thread接口package com.yang.java;//创建继承Thread 类的子类//重写Thread 类的RUN方法//创建Thread类的子类对象//调用Start()public class ArrayTest {public stat原创 2021-01-22 22:38:44 · 151 阅读 · 0 评论