文章分类 - java并发编程
摘要:报文 如果说HTTP是因特网的信使,那么HTTP报文就是它用来搬东西的包裹了。 3.1报文流 HTTP报文是HTTP应用程序之间发送的数据块。这些数据块以一些文本形式的元信息(meta-information)开头,这些信息描述了报文的内容以及含义,后面跟这可选的数据部分。 报文在客户端、服务器和代
阅读全文
摘要:package com.thread_test; import java.util.ArrayList; import java.util.Iterator; /** * Created by zhen on 2017-06-09. */ public class SynchronizedCollectionTest { /** * 传统线程在并发访问时的问题 ...
阅读全文
摘要:package com.thread_test; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; /** * Created by zhen on 2017-06-08. */ public class BlockQueueTest { /**...
阅读全文
摘要:package com.thread_test; import java.util.concurrent.Exchanger; /** * Created by zhen on 2017-06-07. */ public class ExchangerTest { /** Exchanger 可以在对中对元素进行配对和交换的线程的同步点。每个线程将条目上的某个...
阅读全文
摘要:package com.thread_test; import java.util.Random; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.conc...
阅读全文
摘要:package com.thread_test; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Execu...
阅读全文
摘要:package com.thread_test; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; /** * Created by zhen on 2017-06-06. * semaphor...
阅读全文
摘要:package com.thread_test; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * Created by zhen on 2017-06-06. ...
阅读全文
摘要:package com.thread_test; import java.util.Random; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; /** * Created by zhen on 2017-06-05. *...
阅读全文
摘要:package com.thread_test; /** * Created by zhen on 2017-05-27. * 经验:要用到共同数据(包括同步锁)的若干个方法应该归在同一个类身上,这种设计正好体现了高内聚和程序的健壮性。 * 需求: * 子线程输出10次,主线程输出100次,再子线程输出10次,主线程输出100次,循环50次 * 思路: * 1、先实...
阅读全文
摘要:package com.thread_test; /** * Created by zhen on 2017-05-25. */ public class TraditionalThreadSynchronized { /** * 线程互斥 * 多个线程同时操作一个变量,可能引发线程安全问题,经典的例子就是银行余额问题 */ public s...
阅读全文
摘要:package com.thread_test; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * Created by zhen on 2017-05-25. */ public class TraditionalTimerTest { static int coun...
阅读全文
摘要:package com.thread_test; /** * Created by zhen on 2017-05-25. */ public class TraditionalThreadTest { public static void main(String[] args){ /** * java中使用Thread类来创建线程 ...
阅读全文
摘要:对象的共享 要编写正确的并发程序,关键问题在于:在访问共享的可变状态需要进行正确的管理。 我们已经知道了同步代码块和同步方法可以确保以原子的方式执行操作,但一种常见的误解是,认为关键字synchronized只能用于实现原子性或确定“临界区(Critical Section)”。同步还有另一个重要的
阅读全文
摘要:线程或者锁在并发变成在并发编程中的作用,类似于铆钉和工字梁在土木工程中的作用。 java中主要的同步机制是关键字synchroinzed,它提供了一种独占的加锁方式,但“同步”这个术语还包括voliatile类型的变量,显式锁(Explicit Lock)以及原子变量。 当多个线程访问某个类时,这个
阅读全文