生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了共享固定大小缓冲区的两个线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。
计算机程序编译过程
Posted on
|
Views:
现在这个社会充斥着太多的水货程序员了,他们不懂任何计算机原理,但是他们依旧做着公司的业务,很好的完成老板交代的任务,但是这些东西永远对他们来说都说一个黑盒子,他们不会知道为什么会产生段错误,为什么会有悬挂指针,不知道为什么会产生链接错误,什么是缺失符号,更不知道为什么函数 return 一个局部变量就会段错误,返回一个字面量常量就不会,当发生这些问题来只能谷歌,stackoverflow,甚至只能是百度。所以,这里一步一步给大家科普,不断普及一些“常识”让大家更好的理解我们编写的软件程序。
异步iO的演变历程
Posted on
|
Edited on
|
Views:
大多数编程都是从阻塞IO开始的,一个 IO 的调用是同步的,当你调用它时,他会一直等待到操作完成后才返回,或者等到足够时间的时候后你的网络堆栈主动放弃。当你在 TCP 连接上调用 “connect()” ,例如你操作系统发送 SYN 数据包到 TCP 连接的另一端主机的时。它不会立即将控制权返回给你的应用程序,而直到它收到来自对方主机的SYN ACK数据包,或者直到超时后主动放弃的时候,才会将控制权返回。
RAC 源码分析(一)
RecativeCoCoa objectivec 版本的分析,第一部分主要阐述
rac_signalForSelector:
该方法的实现,观摩一下 RAC 是如何监听方法回调的.