线程的阻塞和唤醒在多线程并发过程中是一个关键点,当线程数量达到很大的数量级时,并发可能带来很多隐蔽的问题。如何正确暂停一个线程,暂停后又如何在一个要求的时间点恢复,这些都需要仔细考虑的细节。在Java发展史上曾经使用suspend()、resume()方法对于线程进行阻塞唤醒,但随之出现很多问题,比较典型的还是死锁问题。如下代码,主要的逻辑代码是主线程启动线程mt一段时间后尝试使用suspend(...
分类:
编程语言 时间:
2014-12-06 19:33:24
阅读次数:
513
在JAVA中,每个线程都有一块属于自己的工作内存区,该内存区会保存一份从主内存拷贝过来的公共变量值。不加volatile修身的变量在每个线程中的值修改一般都是独立的。及如下图所示。...
分类:
编程语言 时间:
2014-12-01 16:03:55
阅读次数:
281
1.GCD(Grand Centrol Dispath)
并行:宏观以及微观都是两个人再拿着两把铁锹在挖坑,一小时挖两个大坑
并发:宏观上是感觉他们都在挖坑,微观是他们是在使用一把铁锹挖坑,一小时后他们挖了两个小坑。
总结:就单个cpu来说,大部分进程是并发进行的,就是一把铁锹,你一下我一下,只是间隔时间较短,用户感觉不到而已。
应用:
GCD包括:
(1)实际使用中
/...
分类:
移动开发 时间:
2014-11-29 23:07:13
阅读次数:
437
进程 线程 多线程 并发 同步异步
很多人对进程,线程,多线程,并发,同步,异步等概念感到困惑,这都是大学没好好听课的缘故啊.咱在这里帮感到概念给感到困惑的同学复习下....
分类:
编程语言 时间:
2014-11-21 14:25:40
阅读次数:
170
多线程并发处理起来通常比较麻烦,如果你使用spring容器来管理业务bean,事情就好办了多了。spring封装了java的多线程的实现,你只需要关注于并发事物的流程以及一些并发负载量等特性。具体来说如何使用spring来处理并发事务:
首先编写具体的事务逻辑,实现Runnable接口,比如说
package com.andy.threadDemo;
public c...
分类:
编程语言 时间:
2014-11-19 16:05:58
阅读次数:
191
转帖:要想多线程并发的运行WebDriver,必须同时满足2个条件,首先你的测试程序是多线程,其次需要用到Selenium Server(selenium-server-standalone-XXX.jar)。下载下来后是一个jar包,需要在命令行中运行。里面有2个东西:hub和node。可以这么理...
分类:
其他好文 时间:
2014-11-19 12:04:08
阅读次数:
245
innodb是一个多线程并发的存储引擎,内部的读写都是用多线程来实现的,所以innodb内部实现了一个比较高效的并发同步机制。innodb并没有直接使用系统提供的锁(latch)同步结构,而是对其进行自己的封装和实现优化,但是也兼容系统的锁。我们先看一段innodb内部的注释(MySQL-3.23):
Semaphore operations in operating systems are s...
分类:
数据库 时间:
2014-11-16 12:07:02
阅读次数:
265
最近我们游戏经常收到玩家投诉卡进度条的问题。而且后台显示执行队列和CPU使用率异常高根据调用的JDB分析出 使用xbean 时候会调用以下代码在设置xmlobject 时候会有一个GlobalLock.acquire();当多线程并发设置xmlobject 时候造成互相等待这个GlobalLock ...
分类:
编程语言 时间:
2014-11-14 17:19:52
阅读次数:
149
根据《Java并发编程实践》一书整理的思维导图。...
分类:
编程语言 时间:
2014-11-13 10:55:24
阅读次数:
301
多线程并发访问在Cocos2d-x引擎中用的不是很多,这主要是因为中整个结构设计没有采用多线程。源自于Objective-C的Ref对象,需要使用AutoreleasePool进行内存管理,AutoreleasePool是非线程安全的,所有不推荐在子...
分类:
编程语言 时间:
2014-11-11 23:09:52
阅读次数:
498