java多线程:18、面试题2
来源:互联网 发布:mac怎么格式化存储卡 编辑:程序博客网 时间:2024/05/21 17:50
import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.Semaphore;import java.util.concurrent.SynchronousQueue;/** * 创建10个线程,依次获取生产者生成的数据 * */public class ThreadTest2 { public static void main(String[] args) { final SynchronousQueue<String> sq=new SynchronousQueue<>(); //信号量 final Semaphore semaphore=new Semaphore(1); for(int i=1;i<=10;i++){ new Thread(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub try { semaphore.acquire();//获取信号量 doSome(sq.take()); semaphore.release();//释放信号量 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); } for(int i=1;i<=10;i++){ try { sq.put(i+""); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void doSome(String log){ System.out.println(log+" "+System.currentTimeMillis()/1000); try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
0 0
- java多线程:18、面试题2
- java多线程面试题
- java多线程面试题
- java多线程面试题
- java多线程面试题
- java多线程面试题
- java多线程面试题
- Java多线程面试题
- java多线程面试题
- java 多线程面试题
- java多线程面试题
- java多线程面试题
- java多线程面试题
- java多线程面试题
- java多线程面试题
- java多线程面试题
- java多线程面试题
- java多线程面试题
- 【分类】8 种 NoSQL 数据库系统对比
- 策略模式
- visual studio code写c语言是在include下有绿色的下划线提示not found
- 函数
- Servlet与JSP-JavaWeb项目食用指南
- java多线程:18、面试题2
- servlet之数据库的增,删,改,查
- 函数work3
- 5.1判断两个字符串是否互为变形词(输入流)
- 矩阵快速幂模板
- 微信公众号,微信模版发送信息(java)
- 在php模版文件和html文件中引入js,css文件错误解决
- 【2017/4/10】认识oracle db体系结构
- G