随笔分类 -  线程

摘要:一、他山之石 Netty实现原理浅析 http://www.importnew.com/15656.html netty线程模型 http://www.infoq.com/cn/articles/netty-threading-model#mainLogin 读完这篇文章,我们就会对netty的大概 阅读全文
posted @ 2016-05-09 13:53 stopit 阅读(225) 评论(0) 推荐(0)
摘要:本文转自:http://my.oschina.net/u/248570/blog/53226第三部分属于本人原创一、进程通信方法在说明线程通信前,有必要对进程通信进行说明;进程间通信的方法主要有以下几种: (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关 系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。 (3)信号(Signal):... 阅读全文
posted @ 2012-08-30 22:37 stopit 阅读(42082) 评论(0) 推荐(3)
摘要:第二种方法摘自:think in java下面我们简化一下这个例子。以Think in Java中的例子为原形。大致是这样的,我们将生产者看成是餐厅里的厨师,消费者看成是餐厅里的服务员。厨师会不停的做出食物,而服务员会将厨师做出的食 物拿给顾客。刚开始服务员是处于等待阶段,直到厨师将食物做出来后,他会通知服务员将食物拿走。这时厨师会处于等待阶段,直到服务员将食物拿走后,他会通 知厨师可以继续生产食物。下面是这个例子的代码:import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;impor 阅读全文
posted @ 2012-08-30 20:44 stopit 阅读(582) 评论(0) 推荐(0)
摘要:前言消费者生产者模式是java中多线程的典型模式,它牵涉到java中多个线程交互的一些方式。下面根据一些典型的实现来说明;一、方式1该方式源码出处为:http://eric-619.iteye.com/blog/693681(有一篇讲解多线程的非常有名的博客,建议初学多线程的朋友多关注一下,总结网址为:http://lavasoft.blog.51cto.com/62575/27069,顺便感谢一下这些大牛们为吾等小白扫盲!)生产者-消费者模型准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。对于此模型,应该明确一下几点:1、生产者仅仅在仓储未满时候生产 阅读全文
posted @ 2012-08-30 20:24 stopit 阅读(4454) 评论(1) 推荐(0)
摘要:一、定义1.可见性在多核处理器中,如果多个线程对一个变量(假设)进行操作,但是这多个线程有可能被分配到多个处理器中运行,那么编译器会对代码进行优化,当线程要处理该变量时,多个处理器会将变量从主存复制一份分别存储在自己的片上存储器中,等到进行完操作后,再赋值回主存。(这样做的好处是提高了运行的速度,因为在处理过程中多个处理器减少了同主存通信的次数);同样在单核处理器中这样由于“备份”造成的问题同样存在!这样的优化带来的问题之一是变量可见性——如果线程t1与线程t2分别被安排在了不同的处理器上面,那么t1与t2对于变量A的修改时相互不可见,如果t1给A赋值,然后t2又赋新值,那么t2的操作就将t1 阅读全文
posted @ 2012-08-22 22:30 stopit 阅读(13719) 评论(3) 推荐(1)