Java多线程
Code小小白
欲戴皇冠,必承其重!
展开
-
线程死锁
线程死锁 线程死锁产生原因 死锁示例: 画家和作家都同时需要纸和笔,但是,画家先拿到纸,作家先拿到笔。此时,两者都不愿意率先放弃手中的资源并希望得到对方的资源。 Pen: package com.ycy7; public class Pen { } Paper: package com.ycy7; public class Paper { } Resource: package com.ycy7; public class Resource { private Pen pen; pr原创 2021-03-16 21:36:10 · 46 阅读 · 0 评论 -
同步代码块和同步函数
同步代码块 语法: 使用方法: 示例: package com.ycy5; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class SellTicket implements Runnable{ private int tickets = 100; private Object lock = new Object(); //private Lock lo原创 2021-03-16 21:05:47 · 76 阅读 · 0 评论 -
线程的创建与启动
线程的创建于启动 概述 Runnable接口用于定义线程的执行体,其中仅仅声明了一个run方法。Thread实现了Runnable接口,但是他的run方法中没有实现任何东西,需要Thread子类中实现线程执行体。 在Java中创建线程的常用方式如下: 继承Thread并重写run()方法 实现Runnable接口 利用Callable接口 使用Thread创建线程 步骤: 4. 定义子类继承自Thread并重写run方法 5. 创建子类实例 6. 通过start方法启动线程 示例: 使用Runn原创 2021-02-23 20:27:56 · 278 阅读 · 3 评论