一个小队去登山,每位队员登山的速度不同。山上有几个集合点,在每一集合点处,先到达的队员只有等后面的队员全部到达集合点后才能继续向下一个集合点出发。JDK1.5提供的CyclicBarrier模拟了这种情况。每一个线程相当于一个登山队员,CyclicBarrier相当于山上的集合点。只有等所有线程都执...
                            
                            
                                分类:
编程语言   时间:
2014-05-01 11:34:29   
                                阅读次数:
388
                             
                         
                    
                        
                            
                            
                                JDK1.5提供了一个计数信号量Semaphore类。Semaphore 
通常用于限制可以访问某些资源(物理或逻辑的)的线程数目,并提供了同步机制。Semaphore提供了两个构造器来创建对象:1)Semaphore(int 
permits):创建具有给定的许可数和非公平的公平设置的Semaphor...
                            
                            
                                分类:
编程语言   时间:
2014-05-01 11:33:50   
                                阅读次数:
431
                             
                         
                    
                        
                            
                            
                                想要创造优秀的游戏体验,你必须清楚你制作的游戏面向哪些群体,这个群体的玩家喜欢什么,不喜欢什么。如果你曾经是目标群体中的一员,那么在设计这个游戏的玩法时,你将会有巨大的优势。假如你正在为儿童设计一款教育类游戏,你可以回忆你在那个年龄所想的、所做的以及对人和事的看法。但是假如你不是目标群体的一员,你必...
                            
                            
                                分类:
其他好文   时间:
2014-05-01 11:23:20   
                                阅读次数:
336
                             
                         
                    
                        
                            
                            
                                CountDownLatch 
类是一个倒计时计数器,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数初始化 
CountDownLatch。由于调用了countDown() 方法,所以在当前计数到达零之前,await 
方法会一直受阻塞。之后,会释放所有等待的线程,aw...
                            
                            
                                分类:
编程语言   时间:
2014-05-01 08:21:22   
                                阅读次数:
485
                             
                         
                    
                        
                            
                            
                                JDK1.5提供了Exchanger用于两个线程的数据交换。两个线程先后到达交换点,先到达的线程会等待后到达的线程,然后两个线程互相交换数据,交换后双方持对方的数据。Exchanger只提供了一个构造器:Exchanger():创建一个新的Exchanger。Exchanger中也只有两个方法:V 
...
                            
                            
                                分类:
编程语言   时间:
2014-05-01 08:18:46   
                                阅读次数:
455
                             
                         
                    
                        
                            
                            
                                vc基于对话框多线程编程实例——线程之间的通信实例:
                            
                            
                                分类:
编程语言   时间:
2014-05-01 08:16:04   
                                阅读次数:
337
                             
                         
                    
                        
                            
                            
                                JDK1.5提供了阻塞队列接口BlockingQueue,它是一个有界阻塞队列。BlockingQueue实现是线程安全的,可以安全地与多个生产者和多个使用者一起使用。使用时用其实现类ArrayBlockingQueue,它一个由数组支持的有界阻塞队列。此队列按 
FIFO(先进先出)原则对元素进行排...
                            
                            
                                分类:
编程语言   时间:
2014-05-01 06:58:46   
                                阅读次数:
373
                             
                         
                    
                        
                            
                            
                                1 #include 2 #include 3 #include 4 #include 5 6 
typedef void* (*fun)(void*); 7 8 fun fun1, fun2; 9 10 pthread_mutex_t pmu = 
PTHREAD_MUTEX_INITI...
                            
                            
                                分类:
编程语言   时间:
2014-05-01 06:36:02   
                                阅读次数:
427
                             
                         
                    
                        
                            
                            
                                在进入java平台的线程对象之前,基于基础篇(一)的一些问题,我先插入两个基本概念。 
[线程的并发与并行] 
在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式就叫并发(concurr.....
                            
                            
                                分类:
编程语言   时间:
2014-05-01 06:09:22   
                                阅读次数:
459
                             
                         
                    
                        
                            
                            
                                在Java多线程程序中,由于线程调度,指令间的次序在每次运行时都可能不相同,有时候,我们需要得到指令次序,用来分析程序的行为。这样细粒度的底层行为用一般方法很难完成,我们需要借助 JVM Tool Interface,即JVMTI,来帮助我们获取Java虚拟机执行时的信息。本文先介绍编写JVMTI程序的基本框架,然后介绍如何使用JVMTI来获取多线程程序中指令之间的次序。...
                            
                            
                                分类:
编程语言   时间:
2014-04-29 13:11:22   
                                阅读次数:
892