当前位置: 首页>>代码示例>>Scala>>正文


Scala ForkJoinTaskSupport类代码示例

本文整理汇总了Scala中scala.collection.parallel.ForkJoinTaskSupport的典型用法代码示例。如果您正苦于以下问题:Scala ForkJoinTaskSupport类的具体用法?Scala ForkJoinTaskSupport怎么用?Scala ForkJoinTaskSupport使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ForkJoinTaskSupport类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。

示例1: Main3

//设置package包名称以及导入依赖的类
package de.trash

import scala.concurrent.forkjoin.ForkJoinPool
import scala.collection.parallel.ForkJoinTaskSupport
import scala.util.control.Breaks._
import java.util.concurrent.atomic.AtomicLong
import java.util.concurrent.atomic.AtomicBoolean
import scala.BigInt

object Main3 extends App {
  
  val clauses = List[List[Short]](List(3,3,3),List(2,1,-1),List(-3,-2,-3),List(2,1,2))
  //println(clauses.transpose)
  
  val nVar : Int = 3
  
  
  var i : Int =0;
  val iVar = (for {i <- 0 until nVar} yield Math.pow(2, i).toLong)
  val maxNumber = BigInt(Math.pow(2, nVar).toLong)
  var number: AtomicLong = new AtomicLong(0)
	var end: AtomicBoolean = new AtomicBoolean(false)
  
	val fjpool = new ForkJoinPool(1)
  val customTaskSupport = new ForkJoinTaskSupport(fjpool)
  
	val t = (BigInt(0) to BigInt(maxNumber+""))
	//t.tasksupport = customTaskSupport
	
	t.foreach({ x => {
	  
    if(!end.get()){
      if({
        clauses.forall({ c => {
          println(c+" "+x)
          if(x.toLong==4){
            println("yap")
          }
          !(0 to 2).forall({ i => {
    	      val v : Int = c(i)
    	      println(v)
    	      if(v>0){
    	        println(iVar(v - 1))
    	      }else if(v<0){
    	        println(iVar(-v - 1)) 
    	      } 
    	      var ret = true
    	      !(v > 0 && (x.toLong & iVar(v - 1)) > 0) && !(v < 0 && (x.toLong & iVar(-v - 1)) == 0)
    	      
  
  
} 
开发者ID:Mashashi,项目名称:7thMarathonParallelProgramming,代码行数:53,代码来源:backup2_Main.scala


注:本文中的scala.collection.parallel.ForkJoinTaskSupport类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。