多线程
talentluke
这个作者很懒,什么都没留下…
展开
-
线程死锁
你在主线程用了WaitForSingleObject,导致了消息循环的阻塞,界面假死。然后在线程中调用了SetDlgItemText,而 SetDlgItemText实际上调用的是SendMessage,而SendMessage要等待主线程处理完毕发送的消息才返回继续执行,而你主线 程的消息循环已经阻塞,无法处理消息,导致整个过程“我等你,你等我”,无穷下去 在界面线程不能使用Sleep和Wai...原创 2013-03-14 15:18:08 · 82 阅读 · 0 评论 -
Java线程关闭的3种方法
摘自网络 Java线程关闭,总的来说有3种:1.使用状态位,这个简单,就不多说了:复制代码代码如下:public class Task extends Thread { private volatile boolean flag= true;public void stopTask() {flag = false;}@Overridepubli...原创 2015-08-14 15:55:25 · 2362 阅读 · 0 评论 -
后台线程(守护线程)
所谓的后台线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可或缺的部分。因此当所有的非后台线程结束时,程序也就终止了,同时会杀死所有后台线程。反过来说,只要有任何非后台线程(用户线程)还在运行,程序就不会终止。后台线程在不执行finally子句的情况下就会终止其run方法。后台线程创建的子线程也是后台线程。下面是一个后台线程的示例:[java...原创 2014-04-09 23:42:18 · 596 阅读 · 0 评论 -
MFC下结束AfxBeginThread开启的线程的一些体会
摘自http://www.cnblogs.com/busuncle/archive/2010/05/17/1737467.htmlMFC下结束AfxBeginThread开启的线程的一些体会 最近,由于论文的需求,要用到Windows下的多线程。考虑到界面用MFC写 了,于是上网搜了下MFC下的多线程怎样搞,都说用AfxBeginThread来日比较好。哥向来比较浮躁,先搜搜有没...原创 2013-01-31 17:28:38 · 511 阅读 · 0 评论 -
BIO NIO AIO
源于http://blog.sina.com.cn/s/blog_aed82f6f010194ky.html 同步非阻塞IO (NIO)NIO是基于事件驱动思想的,实现上通常采用Reactor(http://en.wikipedia.org/wiki/Reactor_pattern)模式,从程序角度而言,当发起IO的读或写操作时,是非阻塞的;当socket有流可读或可写入soc...原创 2013-07-08 23:20:08 · 150 阅读 · 0 评论 -
Java volatile详解
在Java中,为了保证多线程读写数据时保证数据的一致性,可以采用两种方式:同步如用synchronized关键字,或者使用锁对象.volatile使用volatile关键字用一句话概括volatile,它能够使变量在值发生改变时能尽快地让其他线程知道.volatile详解首先我们要先意识到有这样的现象,编译器为了加快程序运行的速度,对一些变量的写操作会先在寄存器或者是...原创 2012-12-04 22:22:33 · 665 阅读 · 0 评论 -
Java正确处理InterruptedException的方法
要想讨论正确处理InterrupedtException的方法,就要知道InterruptedException是什么。根据Java Doc的定义Thrown when a thread is waiting, sleeping, or otherwise occupied, and the thread is interrupted, either before or during th...原创 2012-12-04 17:20:24 · 210 阅读 · 0 评论 -
Hashtable、synchronizedMap、ConcurrentHashMap 比较
摘自http://www.douban.com/note/169672949/ util.concurrent 包除了包含许多其他有用的并发构造块之外,还包含了一些主要集合类型List和Map的高性能的、线程安全的实现。Brian Goetz向您展示了用ConcurrentHashMap替换Hashtable或synchronizedMap,将有多少并发程序获益。 在 Jav...原创 2013-04-08 13:03:45 · 76 阅读 · 0 评论 -
海量数据处理系列之(一)Java线程池使用
前言:最近在做分布式海量数据处理项目,使用到了java的线程池,所以搜集了一些资料对它的使用做了一下总结和探究,前面介绍的东西大多都是从网上搜集整理而来。文中最核心的东西在于后面两节无界队列线程池和有界队列线程池的实例使用以及线上问题处理方案。 1. 为什么要用线程池? 在Java中,如果每当一个请...原创 2013-04-03 17:49:19 · 116 阅读 · 0 评论 -
海量数据处理系列(二)系统过载保护
前言:前段时间在网上看到腾讯后台开发总监bison分享的一篇文章《浅谈过载保护》,读来受益匪浅。刚好自己也在处理系统请求过载的问题,把自己的一些心得体会总结出来拿来与大家一起探讨。 在bison的文章中谈到:对于延时敏感的服务,当外部请求超过系统处理能力,如果系统没有做相应保护,可能导致历史累计的超时请求达到一定的规模,像雪球一样形成恶性循环,由于系统处理的每个请求都因...原创 2013-04-03 17:47:53 · 207 阅读 · 0 评论 -
线程间通信的三种方法
线程间通信的三种方法多线程通信的方法主要有以下三种: 1.全局变量进程中的线程间内存共享,这是比较常用的通信方式和交互方式。注:定义全局变量时最好使用volatile来定义,以防编译器对此变量进行优化。 2.Message消息机制常用的Message通信的接口主要有两个:PostMessage和PostThreadMessage,PostMessage为线程向...原创 2013-03-14 16:39:40 · 156 阅读 · 0 评论 -
Java线程监听,意外退出线程后自动重启
摘自 http://my.oschina.net/reachwang/blog/296194摘要 观察者模式:定义对象之间的一种一对多的依赖关系,当对象的状态发生改变时,所有依赖于它的对象都得到通知并且被自动更新。 观察者模式在JDK中有现成的实现,java.util.Obserable,如何进行监听线程,请看例子:昆哥意外退出线程后自动重启 被监听的线程类:...原创 2015-08-14 15:56:32 · 414 阅读 · 0 评论