首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Go 语言并发编程系列(十二)—— sync 包系列:原子操作

我们在前两篇教程中讨论了互斥锁、读写锁以及基于它们的条件变量。互斥锁是一个同步工具,它可以保证每一时刻进入临界区的协程只有一个;读写锁对共享资源的写操作和读操作区别看待,并消除了读操作之间的互斥;条件变量主要用于协调想要访问共享资源的那些线程,当共享资源的状态发生变化时,它可以被用来通知被互斥锁阻塞的线程,它既可以基于互斥锁,也可以基于读写锁(当然了,读写锁也是互斥锁,是对后者的一种扩展)。通过对互斥锁的合理使用,我们可以使一个 Go 协程在执行临界区中的代码时,不被其他的协程打扰,实现串行执行,不过,虽然不会被打扰,但是它仍然可能会被中断(interruption)。

02

钱学森:再谈开放的复杂巨系统

刚才戴汝为同志的报告讲得很好。戴汝为同志多年从事人工智能、知识系统的工作,去年他听说我们在这里讨论开放的复杂巨系统问题,很感兴趣。因此,他是从人工智能、知识系统的角度来看开放的复杂巨系统问题。我正好相反,不懂人工智能和知识系统。从去年开始向他学习这方面的知识,发现这个问题很重要。我们是从不同角度走到一起来了。我们认为,要解决开放的复杂巨系统问题,要建立从定性到定量的综合集成方法或称为综合集成技术,需要这样的结合,所以后来就和于景儿同志我们三个人合写了一篇讲这个观点的文字【1】.但是我要提醒搞人工智能研究的同志,你们考虑问题的层次还太低,包括国外的一些学者,考虑的还是一些简单的问题。什么人工智能,说得很热闹,但具体处理的还是一些非常简单的问题,说不卜什么智能。实际上,真正的人的智能,是人大脑高层次的活动,比目前一些人工智能专家考虑问题的层次要高得多。解决这个问题的途径是1988年马希文同志在一次讨论会上提出的人与机器的结合,单用计算机之类的机器不行,但人需要机器来帮助。所以,外国人好的东西我们要学习,但我不相信他们能解决开放的复杂巨系统问题,这要靠我们自己的努力。

01
领券