作者: 阮一峰 日期: 2013年4月24日 作者: 阮一峰 日期: 2013年4月24日 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所 ...
分类:
编程语言 时间:
2016-09-08 00:51:02
阅读次数:
156
Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. pop() -- Removes the element on top of the stack. to ...
分类:
其他好文 时间:
2016-09-08 00:35:45
阅读次数:
124
概 栈(Stack)代表了一个只有一个出口的后进先出的对象集合。在列表中添加一项,称为推入元素,从列表中移除一项时,称为弹出元素。 Stack<T> 类 public class Stack<T> : IEnumerable<T>, ICollection, IEnumerable 属性 Count ...
/* * 文件开头先啰嗦几句: * * thread.c文件代表的是线程模块。但是你会看到这个模块里面有很多其它方法, 例如关于item的各种操作函数,item_alloc,item_remove,item_link等等。 我们有个items模块,这些不都是items模块要做的事情吗?为什么thre ...
分类:
系统相关 时间:
2016-09-07 19:23:22
阅读次数:
165
线程池(Thread Pool)对于限制应用程序中同一时刻运行的线程数很有用。因为每启动一个新线程都会有相应的性能开销,每个线程都需要给栈分配一些内存等等。 我们可以把并发执行的任务传递给一个线程池,来替代为每个并发执行的任务都启动一个新的线程。只要池里有空闲的线程,任务就会分配给一个线程执行。在线 ...
分类:
编程语言 时间:
2016-09-07 18:59:27
阅读次数:
142
要彻底理解new()与make()的区别, 最好从内存模型入手. golang属于c family, 而c程序在unix的内在模型: |低地址|text|data|bss|heap-->|unused|<--stack|env|高地址| 其中: (1)text存储程序主体,即机器指令. (2)dat... ...
分类:
其他好文 时间:
2016-09-07 14:26:44
阅读次数:
142
开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主线程执行任务 } }).start 利用定时器 TimerTask task = new Timer ...
分类:
移动开发 时间:
2016-09-07 14:24:54
阅读次数:
166
Golang的goroutine是非抢占式的, 令人相当蛋疼! 有痛不能呻吟...只能配合channel在各goroutine之间传递信号来实现抢占式, 而这形成了golang最灵活与最具性能的核心. 相信, 彩虹总在风雨后... 学会process, thread, routine之间的配合与取舍... ...
分类:
其他好文 时间:
2016-09-07 14:19:10
阅读次数:
150
1、代码示例 2、参考资料: Java异常处理:http://fluagen.blog.51cto.com/146595/304197 Hadoop获取出错行:http://www.aboutyun.com/thread-13962-1-1.html http://blog.csdn.net/wuz ...
分类:
其他好文 时间:
2016-09-07 12:29:17
阅读次数:
124