多线程
文章平均质量分 81
iteye_7682
这个作者很懒,什么都没留下…
展开
-
java 多线程(3)——ThreadLocal与synchronized的区别
共同点: ThreadLocal和synchronized都是为了解决多线程中相同变量的访问冲突问题。 不同点: synchronized: 这类线程同步的机制可以解决多线程并发问题,在这种解决方案下,多个线程访问到的,都是同一份变量的内容。为了防止在多线程访问的过程中,可能会出现的并发错误。不得不对多个线程的访问进行同步,这样也就意味着,多个线程必须先后对变量的值进...原创 2015-06-25 10:20:51 · 138 阅读 · 0 评论 -
并发编程之CAS
CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值。这听起来可能有一点复杂但是实际上你理解之后发现很简单,接下来,让我们跟深入的了解一下这项技术。 CAS的使用场景 在程序和算法中一个经常出现的模式就是“check and ac...原创 2017-03-18 06:15:49 · 96 阅读 · 0 评论 -
如何使用多个线程访问同一个资源
问题:如何起4个线程同时卖50张票? 第一个例子: package com.suning.test.thread; /** * 多个线程同时使用同一个资源 * 本例中,4个线程各自分别卖了50张票(总共卖了200张票,这不是我们希望的结果) * * * @author guweiqiang */ public class ThreadDemo1 e...原创 2017-03-29 22:54:48 · 2474 阅读 · 0 评论 -
java 多线程(1)——线程的概念和原理
一、进程和线程的概念 进程:是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。 线程:是指进程中的一个执行流程,一个进程中可以运行多个线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。 二、线程状态 一般来说,线程包括以下这几个状态: 创建(new)、就绪(runnable)、运行(running)、阻塞(blocke...原创 2015-03-12 10:59:26 · 72 阅读 · 0 评论 -
java 多线程(2)——线程池
一、线程池的使用背景: 网络请求通常有两种形式: 第一种形式是请求不是很频繁,而且每次连接后会保持相当一段时间来读数据或者写数据,最后断开,如文件下载,网络流媒体等。 第二种形式是请求频繁,但是连接上以后读/写很少量的数据就断开连接。 考虑到服务的并发问题,如果每个请求来到以后服务都为它启动一个线程,那么这对服务的资源可能会造成很大的浪费...原创 2015-03-16 11:55:35 · 117 阅读 · 0 评论