Java零基础入门 - 第四章:Java语言高级
分享给朋友:
1.多线程基础与JUC工具
理解线程的概念-JAVA多线程基础与JUC工具

时长:35分22秒

线程的创建与启动01-JAVA多线程基础与JUC工具

时长:25分44秒

线程的创建与启动02-JAVA多线程基础与JUC工具

时长:25分17秒

线程的生命周期-JAVA多线程基础与JUC工具

时长:15分48秒

线程的join方法-JAVA多线程基础与JUC工具

时长:25分26秒

后台线程-JAVA多线程基础与JUC工具

时长:21分32秒

sleep方法-JAVA多线程基础与JUC工具

时长:21分25秒

线程优先级和yield方法-JAVA多线程基础与JUC工具

时长:23分41秒

理解线程安全问题-JAVA多线程基础与JUC工具

时长:20分59秒

线程同步方式01-JAVA多线程基础与JUC工具

时长:22分55秒

线程同步方式02-JAVA多线程基础与JUC工具

时长:16分45秒

线程同步方式03-JAVA多线程基础与JUC工具

时长:15分19秒

线程同步方式04-JAVA多线程基础与JUC工具

时长:21分36秒

锁顺序死锁01-JAVA多线程基础与JUC工具

时长:15分19秒

锁顺序死锁02-JAVA多线程基础与JUC工具

时长:17分28秒

锁顺序的解决办法-JAVA多线程基础与JUC工具

时长:18分09秒

对象协作之间的死锁-JAVA多线程基础与JUC工具

时长:45分21秒

使用定时锁-JAVA多线程基础与JUC工具

时长:16分10秒

volatile关键字与内存可见性-JAVA多线程基础与JUC工具

时长:44分16秒

原子性操作问题的解决-JAVA多线程基础与JUC工具

时长:32分57秒

CAS算法的实现逻辑-JAVA多线程基础与JUC工具

时长:16分56秒

JUC里的同步容器类-JAVA多线程基础与JUC工具

时长:19分47秒

CountDownLatch类的使用-JAVA多线程基础与JUC工具

时长:19分55秒

Semaphore类的使用-JAVA多线程基础与JUC工具

时长:17分09秒

CyclicBarrier类的使用-JAVA多线程基础与JUC工具

时长:17分02秒

JUC线程交换器的用法-JAVA多线程基础与JUC工具

时长:17分48秒

线程八锁-JAVA多线程基础与JUC工具

时长:19分18秒

线程安全的单例模式01-JAVA多线程基础与JUC工具

时长:22分35秒

线程安全的单例模式02-JAVA多线程基础与JUC工具

时长:14分14秒

线程通信生产者与消费者模式-JAVA多线程基础与JUC工具

时长:12分58秒

使用Object方法实现线程通信-JAVA多线程基础与JUC工具

时长:29分02秒

使用Condition实现线程通信-JAVA多线程基础与JUC工具

时长:11分28秒

线程控制方法补充-JAVA多线程基础与JUC工具

时长:22分30秒

线程程序交替-JAVA多线程基础与JUC工具

时长:13分54秒

线程池的生命周期-JAVA多线程基础与JUC工具

时长:21分23秒

使用线程池01-JAVA多线程基础与JUC工具

时长:32分30秒

使用线程池02-JAVA多线程基础与JUC工具

时长:08分50秒

使用线程池03-JAVA多线程基础与JUC工具

时长:08分32秒

读写锁01-JAVA多线程基础与JUC工具

时长:22分58秒

读写锁02-JAVA多线程基础与JUC工具

时长:38分58秒

ForkJoin工具类的使用01-JAVA多线程基础与JUC工具

时长:30分04秒

ForkJoin工具类的使用02-JAVA多线程基础与JUC工具

时长:24分45秒

2.IO模型
File类01-JAVA之IO模型与NIO入门

时长:32分54秒

File类02-JAVA之IO模型与NIO入门

时长:19分23秒

File类03-JAVA之IO模型与NIO入门

时长:17分07秒

File类04-JAVA之IO模型与NIO入门

时长:30分29秒

理解JAVAIO流-JAVA之IO模型与NIO入门

时长:25分47秒

认识输入输出流基类方法-JAVA之IO模型与NIO入门

时长:23分24秒

IO流体系和文件输入流-JAVA之IO模型与NIO入门

时长:34分05秒

文件输出流-JAVA之IO模型与NIO入门

时长:09分17秒

数组流01-JAVA之IO模型与NIO入门

时长:26分18秒

数组流02-JAVA之IO模型与NIO入门

时长:15分06秒

管道流的使用-JAVA之IO模型与NIO入门

时长:29分57秒

字符串流01-JAVA之IO模型与NIO入门

时长:22分30秒

字符串流02-JAVA之IO模型与NIO入门

时长:17分38秒

缓冲流-JAVA之IO模型与NIO入门

时长:15分15秒

转换流01-JAVA之IO模型与NIO入门

时长:15分39秒

转换流02-JAVA之IO模型与NIO入门

时长:11分22秒

对象流-JAVA之IO模型与NIO入门

时长:22分46秒

第二组抽象基类01-JAVA之IO模型与NIO入门

时长:22分37秒

第二组抽象基类02-JAVA之IO模型与NIO入门

时长:05分42秒

打印流-JAVA之IO模型与NIO入门

时长:10分27秒

推回输入流-JAVA之IO模型与NIO入门

时长:24分19秒

数据流-JAVA之IO模型与NIO入门

时长:08分25秒

重定向标准输入和输出-JAVA之IO模型与NIO入门

时长:15分36秒

Java程序对子进程的读写01-JAVA之IO模型与NIO入门

时长:10分57秒

Java程序对子进程的读写02-JAVA之IO模型与NIO入门

时长:19分38秒

RandomAccessFile类-JAVA之IO模型与NIO入门

时长:34分37秒

对象序列化01-JAVA之IO模型与NIO入门

时长:28分02秒

对象序列化02-JAVA之IO模型与NIO入门

时长:23分01秒

单例模式的对象序列化问题-JAVA之IO模型与NIO入门

时长:18分03秒

对象序列化的版本号-JAVA之IO模型与NIO入门

时长:14分17秒

序列化的安全问题01-JAVA之IO模型与NIO入门

时长:18分45秒

序列化的安全问题02-JAVA之IO模型与NIO入门

时长:23分34秒

序列化的安全问题03-JAVA之IO模型与NIO入门

时长:23分46秒

3.NIO入门
BIO和NIO的工作模式对比-JAVA之IO模型与NIO入门

时长:22分31秒

NIO的基本介绍-JAVA之IO模型与NIO入门

时长:18分20秒

使用文件通道读取文件-JAVA之IO模型与NIO入门

时长:24分30秒

文件通道的写操作-JAVA之IO模型与NIO入门

时长:24分34秒

缓冲区的基本属性和方法介绍-JAVA之IO模型与NIO入门

时长:23分53秒

缓冲区的基本方法演示-JAVA之IO模型与NIO入门

时长:18分59秒

缓冲区方法加强01-JAVA之IO模型与NIO入门

时长:22分17秒

缓冲区方法加强02-JAVA之IO模型与NIO入门

时长:21分01秒

缓冲区方法加强03-JAVA之IO模型与NIO入门

时长:09分52秒

缓冲区的创建方式-JAVA之IO模型与NIO入门

时长:17分10秒

视图缓冲区-JAVA之IO模型与NIO入门

时长:28分32秒

字节缓冲区独特之处-JAVA之IO模型与NIO入门

时长:24分03秒

直接缓冲区01-JAVA之IO模型与NIO入门

时长:33分26秒

直接缓冲区02-JAVA之IO模型与NIO入门

时长:22分43秒

直接缓冲区03-JAVA之IO模型与NIO入门

时长:17分04秒

内存管理机制-JAVA之IO模型与NIO入门

时长:34分39秒

深入梳理直接缓冲区的实现逻辑-JAVA之IO模型与NIO入门

时长:20分42秒

FileChanel的map方法01-JAVA之IO模型与NIO入门

时长:20分18秒

FileChanel的map方法02-JAVA之IO模型与NIO入门

时长:28分56秒

选择器01-JAVA之IO模型与NIO入门

时长:19分58秒

选择器02-JAVA之IO模型与NIO入门

时长:12分29秒

选择器03-JAVA之IO模型与NIO入门

时长:11分38秒

选择器04-JAVA之IO模型与NIO入门

时长:15分27秒

选择器05-JAVA之IO模型与NIO入门

时长:41分38秒

分数、聚集和通道间的数据传输-JAVA之IO模型与NIO入门

时长:15分29秒

字符集编码和Charset工具-JAVA之IO模型与NIO入门

时长:31分37秒

NIO的Pipe工具-JAVA之IO模型与NIO入门

时长:11分36秒

AIO的Path接口-JAVA之IO模型与NIO入门

时长:12分17秒

Files对象01-JAVA之IO模型与NIO入门

时长:19分42秒

Files对象02-JAVA之IO模型与NIO入门

时长:13分15秒

Files对象03-JAVA之IO模型与NIO入门

时长:10分22秒

Files对象04-JAVA之IO模型与NIO入门

时长:08分45秒

异步通道文件01-JAVA之IO模型与NIO入门

时长:23分48秒

异步通道文件02-JAVA之IO模型与NIO入门

时长:12分14秒

4.网络编程
计算机网络的基本概念-JAVA之网络编程与NIO、AIO进阶

时长:21分54秒

IP协议-JAVA之网络编程与NIO、AIO进阶

时长:25分47秒

TCP协议--JAVA之网络编程与NIO、AIO进阶

时长:24分35秒

UDP协议-JAVA之网络编程与NIO、AIO进阶

时长:10分53秒

HTTP协议01-JAVA之网络编程与NIO、AIO进阶

时长:16分26秒

HTTP协议02-JAVA之网络编程与NIO、AIO进阶

时长:28分54秒

HTTP协议03-JAVA之网络编程与NIO、AIO进阶

时长:25分44秒

HTTP协议04-JAVA之网络编程与NIO、AIO进阶

时长:24分08秒

InetAddress-JAVA之网络编程与NIO、AIO进阶

时长:14分08秒

非法URL字符的编码和解码-JAVA之网络编程与NIO、AIO进阶

时长:15分48秒

URL和URL链接类-JAVA之网络编程与NIO、AIO进阶

时长:20分59秒

多线程下载文件01-JAVA之网络编程与NIO、AIO进阶

时长:38分20秒

多线程下载文件02-JAVA之网络编程与NIO、AIO进阶

时长:23分01秒

编程的形式发送POST请求的案例-JAVA之网络编程与NIO、AIO进阶

时长:27分20秒

对第二单元的总结-JAVA之网络编程与NIO、AIO进阶

时长:12分45秒

基于TCP的网络编程的流程-JAVA之网络编程与NIO、AIO进阶

时长:08分05秒

套接字类的方法-JAVA之网络编程与NIO、AIO进阶

时长:22分55秒

基于TCP协议的通信例子-JAVA之网络编程与NIO、AIO进阶

时长:18分30秒

基于BIO实现聊天室01-JAVA之网络编程与NIO、AIO进阶

时长:29分49秒

基于BIO实现聊天室02-JAVA之网络编程与NIO、AIO进阶

时长:20分16秒

基于BIO实现聊天室03-JAVA之网络编程与NIO、AIO进阶

时长:34分45秒

基于BIO实现聊天室04-JAVA之网络编程与NIO、AIO进阶

时长:40分04秒

基于BIO实现聊天室05-JAVA之网络编程与NIO、AIO进阶

时长:23分19秒

基于BIO实现聊天室06-JAVA之网络编程与NIO、AIO进阶

时长:14分55秒

基于BIO实现聊天室07-JAVA之网络编程与NIO、AIO进阶

时长:23分29秒

基于NIO实现聊天室01-JAVA之网络编程与NIO、AIO进阶

时长:26分04秒

基于NIO实现聊天室02-JAVA之网络编程与NIO、AIO进阶

时长:24分23秒

基于NIO实现聊天室03-JAVA之网络编程与NIO、AIO进阶

时长:36分27秒

基于NIO实现聊天室04-JAVA之网络编程与NIO、AIO进阶

时长:11分32秒

基于NIO实现聊天室05-JAVA之网络编程与NIO、AIO进阶

时长:14分56秒

基于NIO实现聊天室6-JAVA之网络编程与NIO、AIO进阶

时长:23分43秒

基于NIO实现聊天室7-JAVA之网络编程与NIO、AIO进阶

时长:07分41秒

基于NIO实现聊天室8-JAVA之网络编程与NIO、AIO进阶

时长:16分23秒

基于AIO实现聊天室1-JAVA之网络编程与NIO、AIO进阶

时长:26分51秒

基于AIO实现聊天室2-JAVA之网络编程与NIO、AIO进阶

时长:24分32秒

基于AIO实现聊天室3-JAVA之网络编程与NIO、AIO进阶

时长:40分22秒

基于AIO实现聊天室4-JAVA之网络编程与NIO、AIO进阶

时长:16分48秒

基于AIO实现聊天室5-JAVA之网络编程与NIO、AIO进阶

时长:17分03秒

基于AIO实现聊天室6-JAVA之网络编程与NIO、AIO进阶

时长:15分47秒

基于AIO实现聊天室7-JAVA之网络编程与NIO、AIO进阶

时长:16分09秒

基于AIO实现聊天室8-JAVA之网络编程与NIO、AIO进阶

时长:20分27秒

基于UDP协议的网络编程-JAVA之网络编程与NIO、AIO进阶

时长:18分08秒

基于UDP协议的简单实例-JAVA之网络编程与NIO、AIO进阶

时长:24分01秒

基于UDP协议的NIO编程-JAVA之网络编程与NIO、AIO进阶

时长:23分48秒

多点广播实现原理-JAVA之网络编程与NIO、AIO进阶

时长:12分12秒

多点广播和UDP的综合实例1-JAVA之网络编程与NIO、AIO进阶

时长:36分23秒

多点广播和UDP的综合实例2-JAVA之网络编程与NIO、AIO进阶

时长:36分09秒

多点广播和UDP的综合实例3-JAVA之网络编程与NIO、AIO进阶

时长:24分18秒

多点广播和UDP的综合例子4-JAVA之网络编程与NIO、AIO进阶

时长:19分55秒

多点广播和UDP的综合例子5-JAVA之网络编程与NIO、AIO进阶

时长:23分32秒

多点广播和UDP的综合例子6-JAVA之网络编程与NIO、AIO进阶

时长:16分10秒

多点广播和UDP的综合例子7-JAVA之网络编程与NIO、AIO进阶

时长:12分41秒

使用代理服务器-JAVA之网络编程与NIO、AIO进阶

时长:26分30秒

按住画面移动小窗

下载
对象协作之间的死锁-JAVA多线程基础与JUC工具
虎课APP支持视频下载
扫码下载/打开虎课APP
支持视频下载,随时随地学
手机观看
扫一扫,手机继续学
扫码下载/打开虎课APP
支持视频下载,随时随地学
对象协作之间的死锁-JAVA多线程基础与JUC工具_虎课网
记笔记

全新AI视频总结上线

一键节省你80%学习时间

视频暂不支持AI视频总结
AI视频总结
编辑完成后,记得点我~

2393

已学

101小时

时长

266

配套素材

完课证书

¥199(¥299)

全站通VIP免费畅学

立即购买
学员评价 (1条评论)视频字幕
您需要学习后才可以评价, 立即学习
评论列表
仅显示有内容的评论
仅显示带图评论
排序方式:

接着上节课的内容 ,我们接下来继续讲解 ,这个协作对象之间发生死锁 ,它的这个 怎么样 ,会发生死锁 以及这样子的死锁 ,我们怎么样去避免 ,那么具体去说这一部分的例子 ,之前 我们把上次课里边还有点小收尾 ,把它收一下 ,那么我们在这个transfermoney这个方法里边 ,我们发现 我们这种固定锁顺序的一些 这个模式这个方式的 ,过程当中会产生很多代码 ,但这里边 我们这一部分少不了 ,哪部分 就是说 你这边锁 这部分少不了的 ,我这边看起来多 ,是因为我这边 每一步我都有输出 ,所以说看起来比较多 ,但是我们的什么 我们的里边的这些核心的代码 ,真正的功能代码 ,就说中间这块代码 都是重复的 ,其实这些重复代码 我们是可以把它封装起来的 ,把它提出来 ,那么怎么提呢 ,这里边我们来看一下 ,最后的 这个里边的这些代码 ,最后的这个synchronize的里边 ,这代码 我们是可以把它 全部把它提出来的 ,我们是可以把它提出来 ,这块 整个这块代码我们是可以把它提出来的 ,来 我把它减出来 ,减出来 我怎么放呢 ,首先我这些代码都在transfermoney这个方法里边 ,我们在一个方法里边是不能有子方法这种说法的 ,但是我们在一个方法里边 ,我是可以有内部类的 ,所以说我可以在这里边写一个内部类 ,比如说就写个helper ,然后这个内部类里边我们可以定义一个方法 ,

void 我用什么方法 ,就是transfer方法 ,transfer ,我们可以定义一个transfer方法 ,然后我们把这代码放在这transfer方法里边 ,因为这个是内部类 ,若内部类它是可以读的到我的这个 它的作用域 ,比如说它的上一级作用域是这个方法体里面这些变量 它是 ,可以读到的 ,就说在这里边 不用做任何其它操作 ,也不需要在这边传参这些东西 ,你这边搞个内部类 ,然后把这些提出来的公共的代码一样的代码 放在这个内部类 ,里边的一个方法里边 ,那么我们就在这一块就可以得到大的简化 ,这里边我们就只需要new一个 ,这个helper ,然后点transfer方法搞定 ,看到没有 ,这里边一样的代码 ,我们可以什么 可以把它放到这里边来 ,一样的代码 ,我们可以把它放在这里边 ,看到没有 ,这里边 如果说怎么 余额不足 这块东西看到没 ,来 这块 都可以把它替代了 ,看到没有 ,这样子代码就简洁了 ,就是说 这里边把它这样子写 ,这样子写出来 ,我们这个运行结果 你会发现应该没有任何区别 ,来 我们运行一下 ,看到没有 ,运行起来没有任何区别 ,运行起来 没有任何区别 ,那么这是我们上次课讲到这儿 ,我把这个 主要是逻辑讲清楚了 ,然后我直接就结束了 ,这里边其实还有这么一个小知识点 ,方法里边的一些公共代码 ,我们想把它什么 想把它封装一下 ,这样子 把一些重复性的代码封装在一个地方 ,

那么你可以这样子玩 ,在方法体里边搞个内部类 ,内部类里边定义一个方法 ,这一代码放在这个方法里边 ,那么就可以把它事件提出来 ,那你这用的时候你new一个内部类 ,然后调用这方法就搞定了 ,就说这个是上节课讲的东西留了一点小尾巴 ,这里把它结一下 ,那么接下来我们正式的进入到协作对象 之间发生的死锁这个问题 ,任何的一个 实际的这么一个项目 ,它里边所包含的类都是可能几百上千个类 ,然后相互协作 ,最终完成 我们需要的复杂的这种项目功能 ,所以说我们这个真正的项目当中 ,它的类是很多的 ,那么这些类与类之间 总有一些 相互的之间关联耦合 ,这个类里边调用另一个类里面方法 ,而另一个类的里边又需要回调我们这一个类的方法 ,这种东西是非常普遍的 ,所以说在这里边 ,在多线程的这个编程当中 ,那么必然就会出现一些协作上的一些死锁 就有可能会发生 ,那么怎么样会产生这样的情况 ,我这边做一个出租车的调度的这么一个小例子 ,但这个例子 这个功能我不打算在这里边把它完整的演出来 ,因为这里边写出来这东西就比较多了 ,比较复杂了 ,所以这边我们用伪代码的形式 ,这个代码 ,我把它放在这个编辑器里边 ,我会写一下 ,但是这个代码 我并不去执行它 ,因为没有办法执行 ,我把这种逻辑关系 发生死锁 ,

为什么会发生死锁 ,怎么样发生死锁 ,以及我们怎么样避免死锁发生 ,怎么改这个代码 ,把它讲清楚 ,把它说明白 ,你把这块东西懂 ,把它弄懂 理解到就够了 ,整个的这个例子就不去写了 ,因为你写的话 还牵扯到一些地图 ,这些东西 写出来就没完没了了 ,所以说这边 来 我们就具体来把这个逻辑搞清楚 ,整体上的逻辑 ,这样子的一个逻辑 ,怎么样的一个逻辑 ,我们画图 ,把它 把这个逻辑搞清楚 ,我们是做一个出租车的调度 ,我们可以想象 模拟一下 我们这个系统 它是需要实现这么一些功能 ,怎么样的一个功能 这样子的 ,我们每个用户手里边都有手机 ,手机里边有GPS模块 ,所以做实时定位 ,而我们每辆车都可以给它安装GPS模块 ,也可以给它做实时定位 ,当然现在我们国内 你可以安装北斗 ,但我们这手机大部分还是用GPS模块 ,那么我们这边安装GPS模块 ,安装GPS模块 ,我们就可以对我们用户的手机 ,这是我们的这个出租车 是车辆 ,那么我们可以实时的知道 我们的 实时的经度纬度 我们的这个 ,我在地方的地理坐标 ,我们可以通过GPS模块 可以实时的获取到 ,那么现在这里边有个服务器 ,这边有个服务器 ,服务器上面 我们要开发一套 这个出租车的一套 调度的一套系统 ,一套调度的系统 ,在服务器当中实现调度 ,那么 ,我们的用户 可以打开一个APP ,手机上打开一个APP很常见 ,然后打开这APP里边了 ,就可以看到我们自己 用户自己在地图上的位置 ,

然后或者说我们打开APP ,我们就可以 就像我们现在的滴滴打车一样 ,我们可以点击确认呼叫 ,这个出租车这么一个按钮 ,假设有这么一个按钮 ,假设打开这界面里边我们有这个按钮 ,点下去就可以实现呼叫 这个附近的 或者显示附近 ,在我3公里或者5公里内的所有的出租车 ,在我的地图上显示 ,就说用户点击这个按钮以后 ,我们的这个APP可以通过GPS模块 ,可以将用户的地理位置 ,它的经度纬度的坐标 ,我可以让它每30秒钟给我的服务器做一次传输 ,就说我的服务器里边就可以知道我用户它的实时的位置 ,同样我车子上的这个GPS模块 ,同样我让它30秒钟 给我的服务器上传一次它的实时的 ,地理位置 ,那么服务器这里边有用户发送过来的 ,这个地理位置 坐标 也有我的 公司旗下的这些出租车 ,他们在这个区域的实时的地理位置坐标 ,所以说我就可以在我服务器上进行调度 ,那么假设我这边 就实现这么一个模拟的这么一个简单的功能 ,什么样的功能 ,我们用户点击了这个按钮 ,点击显示在我5公里以内的出租车 ,它的这个位置的按钮 ,那么点击下来以后 ,这个用户 它会把这个 它的位置给我发送到服务器上来 ,我服务器里边地图上就可以看到 我的用户在这 ,

那么我服务器有一个调度的程序 ,那么这个调度程序 它可以 将以用户为坐标中心周围半径5 ,公里范围内的 其它的出租车 ,它的这个位置 我们可以把它筛选出来 ,可以筛选出来以后 ,然后再把这些出租车 把它在地图上给显示出来 ,把它画的这个 把这个位置画到这个地图上面 ,然后把这个信息再返还给我的用户 ,用户在手机上也可以看到同样的画面 ,也就说我自己的位置在这 ,然后离我只有 以我为中心5公里范围之内的出租车 ,它们的位置在这些地方 ,我 用户可以选择去呼叫 ,哪一台离我最近的出租车 把它叫过来接我 ,所以说这里边假设就有这么一个用户的这样的一个需求逻辑 ,那么现在我们就要以程序的这个方式来描述一下我们这里边 ,实现 ,那么实现很显然就需要大量的这样的类相互的协作 ,相互协同 ,而且我们这个程序 肯定是个多线程程序 ,这是毋庸置疑的 ,我们每一辆车连接进来 ,它就是一条线程 ,每一个用户连接进来就是一个线程 ,而且我们这个肯定有很多辆车 ,然后又有很多的客户 ,所以说这里边 我们这个程序必然 只能是一个多线程的程序 ,所以说这里边我们有些东西 ,有些数据 ,有些变量就必然是我们众多线程所共享的这样的一些数据 ,

一些变量 ,所以说对于这些数据和变量 ,我们在写程序的时候 ,就必然要对它们进行实现线程同步 ,从而要避免这个线程安全问题 ,所以说正是因为 这样的一个基本逻辑 ,你把它想明白 ,想明白完了以后 我们就写我们这个程序 ,那么我们的这个程序里边很显然有很多类 ,但是最经典的 这个模型里边最经典的几个类 ,一个是这个出租车类肯定是要有的 ,然后我们服务器里边进行调度的程序 ,我们把它写在一个类里边 是肯定要有的 ,另外我们这个调度器里边 还有我们的这个有关于车 这个模型 ,实体模型里边 肯定就要有我的这个车的位置 ,我的用户的位置 ,等等这些东西 ,对不 ,所以说这里边我们就具体再了解 ,这个需求 ,这个业务需求逻辑基础上 ,我们来看一下 ,这里边的一小块东西 ,哪一小块东西 来 ,比如说我们这边 有一个taxi类 ,有一个车子这么一个类 ,来 我在这里边 ,我在这里边 新建一个测试类中 ,这里边是threadtest8 ,那么在这里边 就是我们测试类 当然我们这不会去测 ,不会用这个测试类 来 ,我们在这里边有一个啥子 有一个出租车 taxi ,这么一个类 ,那么在这个类里边 我们有哪些属性 或者说这个类它可能 ,是一个线程类 这里边我们就 又是伪代码 ,我就不想着去执行 ,我就不去写 ,不去把它搞成个线程类了 ,那么在这个出租车类里边 ,

那么必然就有一些什么东西 ,有一些变量 ,比如说车子的位置 ,比如说车子的位置 ,这个用户的目标位置 ,用户的目标位置 ,用户的目标位置 ,另外还有些什么东西呢 ,另外还有一个调度器 ,还有一个调度器 ,这里边 另外还有一个调度器 ,我这边随便导入 ,导入一些类进来 ,这里边是AWT之类的 ,当然我们真正项目里边 可能这些位置point还有这 ,调度器 ,应该都是我们自己建的 ,应该都是我们自己做的 ,这个调度器 一会我们要做 ,调度器的这么一个类 ,来 ,这边很多一些东西 在真正项目里边 ,这东西肯定都是我们自己做 ,在这里边我们只是模拟 ,把这个 4个伪代码不能运行 ,但我们把逻辑把它讲清楚 ,那么这边 在出租车 车这个实体类里边 ,我们有这个位置 ,比如说有这个车的位置 ,有这个客户 他的这个目的位置 ,然后这里边有调度器 ,那么在这里边 必然我们 肯定一些基本的操作 ,比如说我们需要获取位置 ,那么这个位置上边 获取位置 setlocation这个方法 ,那么它必然涉及到了这个位置 ,那么这位置是属于这个线程内里边的属性 ,所以说它是一个共享的一个数据 ,所以说这里边我们肯定要对共享数据的操作 ,你就要加上 用synchronize的这个关键字去保护它 ,要 这个方法就是一个同步方法 ,

那么防止 在运行当中出现线程安全问题 ,就说这里边是这样子的 ,

登录后查看更多
PHP开发入门
共 249 节课
Python爬虫学习
共 113 节课
计算机二级-C语言
共 151 节课
Tableau数据分析师
共 39 节课
前端开发框架及工具
共 190 节课
已是第一张图了
已是最后一张图了
记笔记

导出笔记

笔记导出历史

00:00

0/12
确定保存
笔记导出历史导出完成的笔记将保留1天,如有需求请及时下载
课程名称
导出时间
文件大小
状态
操作
AI视频总结
AI正在分析视频,请稍等…
AI总结遇到了一些问题 点击重新获取
点击重新获取
成为全站通VIP 查看完整AI总结
复制

职业路径建议意见

请选择你对职业路径课程的满意程度

请选择你对职业路径课程的满意程度

请填写关于职业路径的建议意见:

同学,小虎知道你非常努力的想学习!

老师录制课程真的也很辛苦

赞助一下吧

确定学习吗?

您每天可免费学习一个教程。

成为VIP可无限学习 !

成为VIP吧!

成为VIP吧!

您已经免费学习 1 个教程 !

我们录制教程很努力的,赞助下吧 !

升级VIP吧!

您已经学习 5 个教程啦!

我们录制教程很努力的,赞助升级下吧 !

您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个素材文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计观看5个图文教程


您在当前分类下不是VIP,赞助VIP享受无限观看


学习后才能评价哦!

获得30虎课币

评论提交成功,将在审核通过后显示

×

下载素材/源文件:

收藏成功
取消成功
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习90000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了26,258
并提交了203份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 90000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证