摘要:        
import java.time.Duration; import java.time.Instant; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinTask; import java.util.concurrent.RecursiveTask; import java.util....    阅读全文
        
            posted @ 2019-03-05 13:56
濤叔
阅读(216)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 生产者消费者案例: */ public class TestProductorAndConsumerForLo...    阅读全文
        
            posted @ 2019-03-05 13:55
濤叔
阅读(183)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.ScheduledExecutorService; impor...    阅读全文
        
            posted @ 2019-03-05 13:54
濤叔
阅读(204)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurr...    阅读全文
        
            posted @ 2019-03-05 13:53
濤叔
阅读(1066)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
/* * 题目:判断打印的 "one" or "two" ? * * 1. 两个普通同步方法,两个线程,标准打印, 打印? //one two * 2. 新增 Thread.sleep() 给 getOne() ,打印? //one two * 3. 新增普通方法 getThree() , 打印? //three one two * 4. 两个普通同步方法,两个 Nu...    阅读全文
        
            posted @ 2019-03-05 13:52
濤叔
阅读(252)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; /* * 1. ReadWriteLock : 读写锁 * * 写写/读写 需要“互斥” * 读读 不需要互斥 * */ public class TestRea...    阅读全文
        
            posted @ 2019-03-05 13:51
濤叔
阅读(227)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 编写一个程序,开启 3 个线程,这三个线程的 ID 分别为 A、B、C,每个线程将自己的 ID 在屏幕上打印 1...    阅读全文
        
            posted @ 2019-03-05 13:49
濤叔
阅读(423)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 一、用于解决多线程安全问题的方式: * * synchronized:隐式锁 * 1. 同步代码块 * * 2. 同步方法 * * jdk 1.5 后: * 3. 同步锁 Lock...    阅读全文
        
            posted @ 2019-03-05 13:48
濤叔
阅读(384)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; /* * 一、创建执行线程的方式三:实现 Callable 接口。 相较于实现 Runnable 接口的方式,方法可以有返回值,并且可以抛...    阅读全文
        
            posted @ 2019-03-05 13:47
濤叔
阅读(172)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
/* * CountDownLatch :闭锁,在完成某些运算是,只有其他所有线程的运算全部完成,当前运算才继续执行 */ public class TestCountDownLatch { public static void main(String[] args) { final CountDownLatch latch = new CountDownLat...    阅读全文
        
            posted @ 2019-03-05 13:46
濤叔
阅读(140)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
/* * CopyOnWriteArrayList/CopyOnWriteArraySet : “写入并复制” * 注意:添加操作多时,效率低,因为每次添加时都会进行复制,开销非常的大。并发迭代操作多时可以选择。 */ public class TestCopyOnWriteArrayList { public static void main(String[] args) ...    阅读全文
        
            posted @ 2019-03-05 13:45
濤叔
阅读(179)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
/* * 模拟 CAS 算法 */ public class TestCompareAndSwap { public static void main(String[] args) { final CompareAndSwap cas = new CompareAndSwap(); for (int i = 0; i < 10;...    阅读全文
        
            posted @ 2019-03-05 13:44
濤叔
阅读(249)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.util.concurrent.atomic.AtomicInteger; /* * 一、i++ 的原子性问题:i++ 的操作实际上分为三个步骤“读-改-写” * int i = 10; * i = i++; //10 * * int temp = i; * i = i +...    阅读全文
        
            posted @ 2019-03-05 13:43
濤叔
阅读(255)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
/* * 一、volatile 关键字:当多个线程进行操作共享数据时,可以保证内存中的数据可见。 * 相较于 synchronized 是一种较为轻量级的同步策略。 * * 注意: * 1. volatile 不具备“互斥性” * 2. volatile 不能保证变量的“原子性” */ public class TestVolati...    阅读全文
        
            posted @ 2019-03-05 13:42
濤叔
阅读(257)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.channels.SeekableByteChannel; import java.nio.file.DirectoryStream; import java.nio.fil...    阅读全文
        
            posted @ 2019-03-05 13:41
濤叔
阅读(201)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.Pipe; import org.junit.Test; public class TestPipe { @Test public void test1() throws IOException{ ...    阅读全文
        
            posted @ 2019-03-05 13:40
濤叔
阅读(171)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.ServerS...    阅读全文
        
            posted @ 2019-03-05 13:38
濤叔
阅读(262)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
客户端服务端的响应交互    阅读全文
        
            posted @ 2019-03-05 13:14
濤叔
阅读(282)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.nio.ByteBuffer; import org.junit.Test; /* * 一、缓冲区(Buffer):在 Java NIO 中负责数据的存取。缓冲区就是数组。用于存储不同数据类型的数据 * * 根据数据类型不同(boolean 除外),提供了相应类型的缓冲区: * ByteBuffer * CharBuffer * ShortBuf...    阅读全文
        
            posted @ 2019-03-05 13:10
濤叔
阅读(163)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.n...    阅读全文
        
            posted @ 2019-03-05 13:09
濤叔
阅读(320)
评论(0)
推荐(0)
        
        
                    
                
浙公网安备 33010602011771号