SERVICE PHONE
363050.com发布时间:2026-02-12 18:37:12 点击量:
哈希游戏,哈希博彩平台,比特币哈希游戏,区块链博彩,去中心化博彩平台,可验证公平平台,首存送88U,虚拟币哈希娱乐
这个问题老生常谈,但是对于一个新手来说还是有一定深度的,这也是一个面试常题了,我第一次去面试的时候也遇到了,很遗憾,我没答上来。
其实从这个题能看出很多问题,如果不是科班出身,也就是不是专业学生,这个题中许多思想有点难以理解我会尽量以一种简单的方式解释。如果想深入理解,建议好好看一下操作系统和数据结构这两本书,还是很有用的。
首先,哈希map是异步的,什么是异步?简单来说就是,发短信,想想一下,两个人发短信,不用约定,不用通知,两者互不干扰,你发你的,我发我的,这叫异步。
其次,哈希table是同步的,什么是同步?同样简单来说,就是打电话,打电话是两人一起的,同时在打,你说完了我才能说,要不会抢答,对吧。这叫同步。
然后我们用计算机的知识解释一下:假设我们现在有一块内存,存了一些东西,假设我现在用哈希map来读取,那应用程序就随便来去,什么也不需要管,如果是哈希table,那就是我来了你不能来。
看了上面一点,我们思考这样一个问题,如果是异步的,假设现在线程a来读取内存并修改内存,同时线程b也来了,只是稍微后面一点,可是b想读a修改之前的数据,怎么办?还能怎么办?肯定读错了。这就是不安全的。
相反如果是同步,因为一个线程来了之后不能有其他线程在进行读写了,所以数据不会被未知地修改掉,所以是安全的。
哈希map因为是异步的,所以会快,可以这样想,假设双方都要说一句话,一句话要说一分钟,如果是异步,大家可以啥也不管,同时说,公用一分钟;哈希table呢,是同步的,你说完了我才能说,所以要两分钟。所以对比起来,速度不同。
