代码集中营
白丝巾
QQ:137437006 欢迎骚扰
展开
-
现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行
现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行 //思路:利用join() public static void main(String[] args) throws Exception { Thread t1 = new Thread(){ @Override public vo原创 2018-01-03 15:23:55 · 370 阅读 · 0 评论 -
使用 wait notify 实现一个队列,队列有2个方法,add 和 get 。add方法往队列中添加元素,get方法往队列中获得元素。队列必须是线程安全的。如果get执行时,队列为空,线程必须阻塞
使用 wait notify 实现一个队列,队列有2个方法,add 和 get 。add方法往队列中添加元素,get方法往队列中获得元素。队列必须是线程安全的。如果get执行时,队列为空,线程必须阻塞等待,直到有队列有数据。如果add时,队列已经满,则add线程要等待,直到队列有空闲空间。使他工作在多线程的环境下,证明,它的工作是正确的。给出程序和运行的截图。//关键点: wait() notify原创 2018-01-03 15:26:23 · 966 阅读 · 0 评论 -
NIO服务器和客户端通讯简单例子
NIO服务器和客户端通讯简单例子废话不多说直接上代码。 首先是服务端代码:package nio;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import原创 2018-01-11 23:54:11 · 247 阅读 · 0 评论 -
实现一个无锁的Stack,并写一段测试代码(多线程访问),证明这个Stack是线程安全的。给出程序以及运行的截图。
实现一个无锁的Stack,并写一段测试代码(多线程访问),证明这个Stack是线程安全的。给出程序以及运行的截图。 //关键点:无锁须利用CAS类 //data static private AtomicInteger j = new AtomicInteger(0); //控制插入的指针 static private AtomicInteger原创 2018-01-03 15:29:21 · 945 阅读 · 2 评论 -
JAVA版Future模式实现代码
JAVA版Future模式实现代码思路: 1、调用方发送数据给被调用方并起一个线程等待数据填充, 2、被调用方立马返回数据并启动一个线程处理, 3、处理完把数据交给调用方并唤醒调用方线程。调用方代码:import java.util.concurrent.locks.ReentrantLock;/** * @author 作者:hui E-mail: 137437006@qq.com* @原创 2018-01-18 18:21:24 · 978 阅读 · 0 评论 -
Netty服务器和客户端交互案例
Netty服务器和客户端交互案例简述:使用netty完成通讯简单的例子服务器端代码:package netty;import java.net.InetSocketAddress;import java.util.concurrent.Executors;import org.jboss.netty.bootstrap.ServerBootstrap;import or原创 2018-01-19 00:03:30 · 1573 阅读 · 0 评论