java多线程,deque队列怎么用?

miracleliu 2014-01-24 05:10:18
最近在看《java并发编程实践》

看到讲Deque,可以实现窃取工作(work stealing),能够保证每个线程都保持忙碌状态。

可是没有示例,不知道怎么用的,网上也没搜到。

所以求个示例,O(∩_∩)O谢谢
...全文
445 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
miracleliu 2014-04-22
  • 打赏
  • 举报
回复
java8的新特性 http://java-success.blogspot.com/2014/04/top-6-java-8-features-you-can-start_4.html
miracleliu 2014-04-22
  • 打赏
  • 举报
回复
看到java8里新的fork/join实现就用了work stealing的方式,更高效了 Parallel processing. In pre Java 8, the call to Arrays.sort( ) uses the merge sort algorithm sequentially. Java 8, introduces a new API for sorting the array in parallel with Arrays.parallelSort( ). Arrays.parallelSort( ) uses Fork/Join framework introduced in Java 7 to assign the sorting tasks to multiple threads available in the thread pool. Fork/Join implements a work stealing algorithm where an idle thread can steal tasks queued up in another thread.
  • 打赏
  • 举报
回复
引用 7 楼 miraclestar 的回复:
[quote=引用 6 楼 bao110908 的回复:] 双端队列。所谓的窃取指的是,默认情况下线程从队列中获取任务进行计算处理,当某些线程在自己的任务队列中没有任务的时候,也不闲着,从其他线程的工作队列中去“偷”计算任务,为了不影响其他线程的任务,就从其他线程任务队列的另一端去获取任务。 双端队列一般应用于非常高效的多线程应用当中,开发过程中需要有很多的技巧,普通的多线程应用中使用意义也不是太大。
就是想要非常高效,火龙果大大有例子没[/quote] 没有例子,你自己写一个就好了
代码间的舞者 2014-02-18
  • 打赏
  • 举报
回复
学习了,标记一下。
miracleliu 2014-02-18
  • 打赏
  • 举报
回复
引用 6 楼 bao110908 的回复:
双端队列。所谓的窃取指的是,默认情况下线程从队列中获取任务进行计算处理,当某些线程在自己的任务队列中没有任务的时候,也不闲着,从其他线程的工作队列中去“偷”计算任务,为了不影响其他线程的任务,就从其他线程任务队列的另一端去获取任务。 双端队列一般应用于非常高效的多线程应用当中,开发过程中需要有很多的技巧,普通的多线程应用中使用意义也不是太大。
就是想要非常高效,火龙果大大有例子没
  • 打赏
  • 举报
回复
双端队列。所谓的窃取指的是,默认情况下线程从队列中获取任务进行计算处理,当某些线程在自己的任务队列中没有任务的时候,也不闲着,从其他线程的工作队列中去“偷”计算任务,为了不影响其他线程的任务,就从其他线程任务队列的另一端去获取任务。 双端队列一般应用于非常高效的多线程应用当中,开发过程中需要有很多的技巧,普通的多线程应用中使用意义也不是太大。
miracleliu 2014-01-26
  • 打赏
  • 举报
回复
引用 4 楼 miraclestar 的回复:
[quote=引用 2 楼 jintianhen1 的回复:] 帮楼主顶。。
谢谢[/quote] 嗯,倒过来也不会掉。
miracleliu 2014-01-26
  • 打赏
  • 举报
回复
引用 2 楼 jintianhen1 的回复:
帮楼主顶。。
谢谢
致知Fighting 2014-01-25
  • 打赏
  • 举报
回复
DQ 不是冰淇淋么
静山晚风 2014-01-25
  • 打赏
  • 举报
回复
帮楼主顶。。
miracleliu 2014-01-24
  • 打赏
  • 举报
回复
没人了解吗?
Java技术基础 4 1.1编程语言 4 1.2 Java的特点 4 1.3 Java开发环境 4 1.4 Java开发环境配置 5 1.5 Linux命令与相关知识 5 1.6 Eclipse/Myeclipse程序结构 6 Java语言基础 7 2.1基础语言要素 7 2.2八种基本数据类型 7 2.3常量和变量 8 2.4运算符与表达式 8 2.5编程风格 9 2.6流程控制语句 10 2.7数组 11 2.8字符串 11 2.9方法三要素 12 2.10插入排序 12 2.11冒泡排序 12 2.12冒泡排序:轻气泡上浮的方式 13 2.13二分法查找 13 2.14 Java系统API方法调用 14 2.15二进制基础 14 2.16 Java基础其他注意事项 14 面向对象 16 3.1类 16 3.2对象 16 3.3包 16 3.4方法及其调用 17 3.5引用 17 3.6访问控制(封装) 17 3.7构造器 17 3.8 super()、super.和 this()、this. 18 3.9重载和重写 19 3.10继承 20 3.11 static 23 3.12 final 24 3.13多态 25 3.14抽象类 25 3.15接口 25 3.16内部类 26 3.17匿名类 27 3.18二维数组和对象数组 28 3.19其他注意事项 28 Java SE核心I 30 4.1 Object类 30 4.2 String类 31 4.3 StringUtils类 33 4.4 StringBuilder类 33 4.5正则表达式 34 4.6 Date类 35 4.7 Calendar类 35 4.8 SimpleDateFormat类 36 4.9 DateFormat类 36 4.10包装类 37 4.11 BigDecimal类 38 4.12 BigInteger类 38 4.13 Collection集合框架 38 4.14 List集合的实现类ArrayList和LinkedList 39 4.15 Iterator迭代器 42 4.16泛型 43 4.17增强型for循环 43 4.18 List高级-数据结构:Queue队列 44 4.19 List高级-数据结构:Deque栈 44 4.20 Set集合的实现类HashSet 45 4.21 Map集合的实现类HashMap 46 4.22单例模式和模版方法模式 48 Java SE核心II 49 5.1 Java异常处理机制 49 5.2 File文件类 51 5.3 RandomAccessFile类 53 5.4基本流:FIS和FOS 55 5.5缓冲字节高级流:BIS和BOS 56 5.6基本数据类型高级流:DIS和DOS 56 5.7字符高级流:ISR和OSW 57 5.8缓冲字符高级流:BR和BW 58 5.9文件字符高级流:FR和FW 59 5.10 PrintWriter 60 5.11对象序列化 60 5.12 Thread线程类及多线程 61 5.13 Socket网络编程 65 5.14线程池 67 5.15双缓冲队列 68

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧