Move FullJdk tests to boxWithStdlib
This commit is contained in:
committed by
Alexander Udalov
parent
d23f82177f
commit
f994c9924f
@@ -1,13 +0,0 @@
|
||||
import java.lang.Runtime
|
||||
|
||||
fun box() : String {
|
||||
val processors = Runtime.getRuntime()!!.availableProcessors()
|
||||
var threadNum = 1
|
||||
while(threadNum <= 1024) {
|
||||
if(threadNum < 2 * processors)
|
||||
threadNum += 1
|
||||
else
|
||||
threadNum *= 2
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
import java.util.concurrent.*
|
||||
import java.util.concurrent.atomic.*
|
||||
|
||||
fun thread(block: ()->Unit ) {
|
||||
val thread = object: Thread() {
|
||||
override fun run() {
|
||||
block()
|
||||
}
|
||||
}
|
||||
thread.start()
|
||||
}
|
||||
|
||||
fun box() : String {
|
||||
val mtref = AtomicInteger()
|
||||
val cdl = CountDownLatch(11)
|
||||
for(i in 0..10) {
|
||||
thread {
|
||||
var current = 0
|
||||
do {
|
||||
current = synchronized(mtref) {
|
||||
val v = mtref.get() + 1
|
||||
if(v < 100)
|
||||
mtref.set(v+1)
|
||||
v
|
||||
}
|
||||
}
|
||||
while(current < 100)
|
||||
cdl.countDown()
|
||||
}
|
||||
}
|
||||
cdl.await()
|
||||
return if(mtref.get() == 100) "OK" else mtref.get().toString()
|
||||
}
|
||||
Reference in New Issue
Block a user