CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
Java 多线程
级别 6
您已达到 26 级
Java 多线程
第 6 级,
课程 0
26级
比较器,排序集合
Java 多线程
第 6 级,
课程 1
“嗨,阿米戈!” “嗨,比拉博!” “今天我们将研究一个小而有趣且有用的主题:对集合进行排序。” “分院?我听说过。” “很久以前,每个程序员都必须能够编写排序算法。能够并且必须编写它们。但那些日子已经过去了。今天,编写自己的排序代码被认为是一种糟糕的形式,就像重写任何已经存在的东西一样被发明了。” “在 Java(和其他编程语言)中,已经实现了排序。 你的任务是学习如何正确使用已经存在的东西。 ” “好的。” “ Collections helper 类有一个静态排序方法,
练习排序和使用比较器
Java 多线程
第 6 级,
课程 2
“嗨,阿米戈!”
共享资源、冲突、共享访问
Java 多线程
第 6 级,
课程 3
“嗨,阿米戈!我想告诉你关于共享资源的事。当然是跨不同的线程。 “我一直在谈论使用多线程时发生的问题以及如何解决它们。这并不意味着使用线程是不好的。线程是一个非常强大的工具。事实上,它们可以让你的程序更快,甚至更可靠。程序越复杂,线程和各个独立部分就越多。 “将程序拆分为独立(松散耦合)的部分非常有益。” “想象一下,你的程序在内部被分成了 100 个线程。但你只有一个双核处理器。这意味着平均每个内核上会执行 50 个线程。” “如果你需要提高程序的性能,你只需购买一台双处理
使用易失性
Java 多线程
第 6 级,
课程 4
“嗨,阿米戈!” “嗨,艾莉!” “我想告诉你 volatile 修饰符。你知道那是什么吗?” “跟线有关,记不太清了。” “那就听好了。这里有一些技术细节供您参考:” “计算机有两种内存:全局(普通)内存和处理器内置内存。处理器内置内存分为寄存器、一级缓存(L1)、二级缓存(L2)和第三级(L3)。” “这些类型的内存具有不同的速度。最快和最小的内存是寄存器,然后是处理器缓存(L1、L2、L3),最后是全局内存(最慢)。” “全局内存和处理器缓存以截然不同的速度运行,因此
练习使用 volatile
Java 多线程
第 6 级,
课程 5
“嗨,阿米戈!”
互斥锁和监视器
Java 多线程
第 6 级,
课程 6
“嗨,阿米戈!” “在我之前的课程中,我有时会使用‘互斥锁’和‘监控器’这两个词,现在是时候告诉你它们的意思了。” “我洗耳恭听。” “互斥量是一个用于同步线程/进程的特殊对象。它有两种可能的状态:忙碌和空闲。简单来说,互斥量是一个布尔变量,可以有两个值:忙碌(真)和空闲(假)。” “当一个线程想要获得一个对象的所有权时,它将对象的互斥量标记为忙碌。当它完成对对象的处理后,它将其互斥量标记为空闲。” “换句话说,互斥量就像门上的‘忙碌/空闲’标志?” “是的。而且这样的互斥量
使用同步
Java 多线程
第 6 级,
课程 7
“嗨,阿米戈!” “是的,我来了,我来了。” “今天,我将告诉你如何在实践中使用synchronized。” “当一个程序有很多对象和线程时,经常会发生多个线程同时处理同一个对象的情况。这样做时,线程会相互干扰。” “是的,我已经知道了。” “所以,假设你有一个对象被多个线程访问。你可以做两件事来避免问题。” “第一种是使用同步块来包装访问对象的每个位置。但如果某些程序员编写直接访问对象的代码,而不使用同步块,则这种方法可能行不通。” “因此,大多数时候使用第二种方法——使对
使用同步的困难任务
Java 多线程
第 6 级,
课程 8
“嗨,阿米戈!”
并发、阻塞队列 (Java 7)
Java 多线程
第 6 级,
课程 9
“嗨,阿米戈!” “嗨,金!” “今天,我要给大家讲讲并发。” “ Concurrency是一个 Java 类库,其中包含已针对多线程工作进行了优化的特殊类。这是一个非常有趣且内容广泛的主题。但今天我们只是要进行介绍。该包称为 java.util。并发包。我会告诉你几个有趣的类。” “原子类型。 ” “你已经知道,即使是 count++ 也不是线程安全的操作。当一个变量递增 1 时,实际上会发生三个操作。因此,在更改变量时可能会发生冲突。” “是啊,艾莉不久前跟我说:” 线程
并发练习
Java 多线程
第 6 级,
课程 10
“嗨,阿米戈!”
学习谷歌 | 6 级 | 第11课
Java 多线程
第 6 级,
课程 11
“嗨,阿米戈!” “让我们继续学习如何使用谷歌搜索。” “这里有一些练习:” 网络搜索练习: 1个 Collections 类有哪些方法? 2个 Arrays 类有哪些方法? 3个 我们将调用 Collections.sort() 时发生的排序称为什么? 4个 什么是互斥体? 5个 什么是监视器? 6个 有哪些原子类型? 7 并发包中有哪些类? 8个 什么是“先发生”关系? 9 并发包中的“障碍”是什么? 10 从并发包中搜索 5 个不同的类。
显示更多
1
2
Please enable JavaScript to continue using this application.