2013年12月23日
摘要: 2013-12-2317:44:44Java为线程安全提供了一些工具类,如ThreadLocal类,它代表一个线程局部变量,通过把数据放在ThreadLocal中就可以让每个线程创建一个该变量的副本,从而避免并发访问的线程安全问题。线程局部变量的功能其实很简单,就是为每一个使用该变量的线程提供一个副本,使每一个线程都可以独立的访问属于自己的副本,而不会和其他线程的副本产生冲突,就好像每一个线程都完全拥有该变量一样。ThreadLocal类并不能替代同步机制,两者面向的问题领域不同。同步机制是为了同步多个线程对相同资源的并发访问,是多个线程之间进行通信的有效方式;ThreadLocal是为了隔离 阅读全文
posted @ 2013-12-23 18:10 wlrhnh 阅读(537) 评论(0) 推荐(2) 编辑
摘要: 2013-12-2311:28:40转载自:http://blog.csdn.net/evilcode/article/details/7005757请到转载地址阅读原文, 转载以备查询。 阅读全文
posted @ 2013-12-23 11:29 wlrhnh 阅读(214) 评论(0) 推荐(1) 编辑
摘要: 2013-12-2311:26:54转载自:http://blog.sina.com.cn/s/blog_67d8d7060100q8un.html请到转载地址阅读原文, 转载以备查询。 阅读全文
posted @ 2013-12-23 11:28 wlrhnh 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 2013-12-2310:31:551.由于系统的线程调度很随机(其实也是按照一定的策略来调度的,但对于程序来说是随机的,毕竟是无法由程序控制),所以当多个线程访问共享资源时就有可能产生线程同步问题。2.为了解决线程的同步问题,可以使用如下几种方式: 2.1 同步代码块,用synchronized(obj) { }将需要同步的代码括起来,obj指的是同步监视器,含义是线程在开始执行这段代码之前需要先获得同步监视器的锁。 1> 任何时刻,只有一个线程可以获得对同步监视器的锁定,当同步代码执行完成后释放锁。 2> 虽然Java程序允许使用任何对象作为同步监视器,但通常推荐使用可能... 阅读全文
posted @ 2013-12-23 10:43 wlrhnh 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 2013-12-2310:00:121.当一个程序进入内存中运行时即变成一个进程,系统对运行中的程序都是以进程为单位管理的;2.进程三特征:1 独立性: 资源独立,拥有私有的地址空间,不允许其他进程访问;2 动态性:程序是静态的指令集合,而进程是运行的、动态的指令集合;3 并发性:多个进程可以在一个处理器上并发执行;3.目前大多数操作系统采用效率更高的抢占式多任务操作策略。4.线程是进程的组成部分,一个进程可以拥有多个线程,线程可以拥有自己的堆栈、程序计数器和局部变量,但与所有属于该进程的其他线程共享该进程拥有的系统资源。5.多线程编程优点:1 进程之间不能共享内存,线程可以;2 系统创建线程 阅读全文
posted @ 2013-12-23 10:13 wlrhnh 阅读(367) 评论(0) 推荐(0) 编辑