0%

本课时我们主要学习 wait/notify/notifyAll 方法的使用注意事项。

我们主要从三个问题入手:

  1. 为什么 wait 方法必须在 synchronized 保护的同步代码中使用?
  2. 为什么 wait/notify/notifyAll 被定义在 Object 类中,而 sleep 定义在 Thread 类中?
  3. wait/notify 和 sleep 方法的异同?
阅读全文 »

在本课时我们主要学习如何正确停止一个线程?以及为什么用 volatile 标记位的停止方法是错误的?

首先,我们来复习如何启动一个线程,想要启动线程需要调用 Thread 类的 start() 方法,并在 run() 方法中定义需要执行的任务。启动一个线程非常简单,但如果想要正确停止它就没那么容易了。

阅读全文 »

在本课时我们主要学习为什么说本质上只有一种实现线程的方式?实现 Runnable 接口究竟比继承 Thread 类实现线程好在哪里?

实现线程是并发编程中基础中的基础,因为我们必须要先实现多线程,才可以继续后续的一系列操作。所以本课时就先从并发编程的基础如何实现线程开始讲起,希望你能够夯实基础,虽然实现线程看似简单、基础,但实际上却暗藏玄机。首先,我们来看下为什么说本质上实现线程只有一种方式?

实现线程的方式到底有几种?大部分人会说有 2 种、3 种或是 4 种,很少有人会说有 1 种。我们接下来看看它们具体指什么?2 种实现方式的描述是最基本的,也是最为大家熟知的,我们就先来看看 2 种线程实现方式的源码。

阅读全文 »

今天是我们春节特别加餐的最后一讲了,这预示了什么?

预示着我们马上就要离开假期的怀抱,继续投身于社会浪潮中,做个快乐“打工人”了(快乐不快乐不一定,但是打工是一定的)。打工之余,也别忘了把恋爱这件事提上日程。

恋爱课开课以来,我一共开了三场直播。很多小伙伴跟我反映,自己错过了某一场直播,觉得很可惜。于是,我从这三场直播中,挑选了其中最精华的内容,今天给你做一次汇总分享。

真理是越辩越明的,恋爱这门学问也是需要不断揣摩和思考的,希望今天能给你新的灵感。

阅读全文 »

今天是大年初四,假期已经过半了。不知道这一次回家过年的你,有没有被催恋爱、结婚?有没有为自己新的一年,想好一个恋爱目标?有没有什么恋爱计划?

恋爱课专栏已经上线更新一段时间了,每一天都能看到很多小伙伴在留言区留言。

有的人记录着自己对爱情的理解,写下自己的感悟;也有的同学留下自己在感情中的疑惑,迫切地想寻找到问题的答案;还有的同学给其他留言的小伙伴指点迷津,出谋划策。

总的来说,恋爱课的留言区很“热闹”,很“丰富”,也很“接地气”,也让我感触颇深。

虽然专栏每一讲的内容有限,但是我们专栏的留言内容成为了专栏最好的补充。于是,我将留言板中的答疑和精彩留言进行了一个汇总,帮助你更好地理解恋爱这门学问。

截至大年初一,基本做到了精选留言的一一回复,非常感谢小伙伴们的评论。

有许多非常精彩的洞见,这使看回复成为了一件非常开心的事情。我简单把回复分成四类分享一下,一是深有感触摘抄类;二是言简意赅金句类;三是皮一下很开心类;四是现实问题答疑类。

阅读全文 »