对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。对于此模型,应该明确一下几点:1、生产者仅仅在仓储未满时候生产...
分类:
编程语言 时间:
2015-01-27 18:04:06
阅读次数:
160
出处:http://www.cnblogs.com/yuxingfirst/archive/2012/07/25/2608612.html线程中特有的线程存储, Thread Specific Data 。线程存储有什么用了?他是什么意思了?大家都知道,在多线程程序中,所有线程共享程序中的变量。现在...
分类:
编程语言 时间:
2015-01-21 22:05:04
阅读次数:
221
一直对GDB多线程调试接触不多,最近因为工作有了一些接触,简单作点记录吧。
先介绍一下GDB多线程调试的基本命令。
info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。
thread ID 切换当前调试的线程为指定ID的线程。
break thread_test.c:123...
分类:
数据库 时间:
2015-01-21 16:35:31
阅读次数:
194
前言在我们编写多线程程序时,会遇到这样一个问题:在一个线程处理的过程中,需要等待另一个线程处理的结果才能继续往下执行。比如:有两个线程,一个用来接收Socket数据,另一个用来处理Socket数据,而处理Socket数据的那个线程需要在接收到Socket数据后才能处理运行,就要等待接收线程接收数据。...
分类:
编程语言 时间:
2015-01-12 20:46:24
阅读次数:
248
What is the ThreadLocal
早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。
ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是T...
分类:
其他好文 时间:
2015-01-09 17:24:44
阅读次数:
144
标题:浅谈Volatile与多线程2011-04-19 22:49:17最近看的比较杂,摘了一些人的笔记!随着多核的日益普及,越来越多的程序将通过多线程并行化的方式来提升性能。然而,编写正确的多线程程序一直是一件非常困的事情,volatile关键字的使用就是其中一个典型的例子。C/C++中的vola...
分类:
编程语言 时间:
2015-01-08 17:42:25
阅读次数:
159
在web应用中服务器面临的是大量的访问请求,免不了多线程程序,但是有时候,我们希望在多线程应用中的某一个类只能新建一个对象的时候,就会遇到问题。首先考虑单线程,如果要求只能新建一个对象,那么构造函数我们要设为private。简单的想法:class singleton{ private single....
分类:
编程语言 时间:
2015-01-06 02:03:42
阅读次数:
152
突然想到进程的栈和线程的栈,就顺便说一下,线程的栈被自动分配到进程的内存空间中 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性...
分类:
编程语言 时间:
2014-12-30 16:39:42
阅读次数:
319
在ios开发多线程程序的时候,往往会碰到run loop。
对于run loop, 苹果开发网站上有非常详细的说明,https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Multithreading/RunLoopManagement/RunLoopManagement.html
强烈建议啃下来,不要怕英文...
分类:
移动开发 时间:
2014-12-27 19:01:34
阅读次数:
216