Sam Schilling
09/30/2019, 7:47 PMArkadii Ivanov
09/30/2019, 7:54 PMSam Schilling
09/30/2019, 7:55 PMSam Schilling
09/30/2019, 7:55 PMmutable XOR global
thread-safety requirementSam Schilling
09/30/2019, 7:56 PMSam Schilling
09/30/2019, 8:00 PMArkadii Ivanov
09/30/2019, 8:00 PMSam Schilling
09/30/2019, 8:00 PMSam Schilling
09/30/2019, 8:01 PMArkadii Ivanov
09/30/2019, 8:02 PMArkadii Ivanov
09/30/2019, 8:02 PMSam Schilling
09/30/2019, 8:08 PMval job: () -> Unit = { ... }
, in JVM I can reference objects outside of the lambda freely, in K/N I cannotArkadii Ivanov
09/30/2019, 8:09 PMSam Schilling
09/30/2019, 8:09 PMArkadii Ivanov
09/30/2019, 8:10 PMSam Schilling
09/30/2019, 8:10 PMArkadii Ivanov
09/30/2019, 8:10 PMSam Schilling
09/30/2019, 8:10 PMSam Schilling
09/30/2019, 8:10 PMkpgalligan
09/30/2019, 8:10 PMkpgalligan
09/30/2019, 8:11 PMArkadii Ivanov
09/30/2019, 8:11 PMArkadii Ivanov
09/30/2019, 8:11 PMkpgalligan
09/30/2019, 8:12 PMSam Schilling
09/30/2019, 8:13 PMval a = 1
a.freeze()
// succeeds
worker.execute(TransferMode.SAFE, { a }) {
print(it)
}
// fails
worker.execute(TransferMode.SAFE, { a }) {
print(a)
}
kpgalligan
09/30/2019, 8:13 PMSam Schilling
09/30/2019, 8:14 PMArkadii Ivanov
09/30/2019, 8:15 PMSam Schilling
09/30/2019, 8:15 PMArkadii Ivanov
09/30/2019, 8:16 PMkpgalligan
09/30/2019, 8:20 PMkpgalligan
09/30/2019, 8:20 PMval workLambda = {
print(a)
}.freeze()
worker.execute(TransferMode.SAFE, { workLambda }){
it()
}
Sam Schilling
09/30/2019, 8:21 PMSam Schilling
09/30/2019, 8:23 PMSam Schilling
09/30/2019, 8:31 PMactual fun performAsync(block: () -> Unit)
. Unless I put it in a class that stores the workers and has an API to manage, I donât know of a way to request termination of the worker on job completion since you canât reference the worker in the job AFAIKSam Schilling
09/30/2019, 8:38 PMval worker = Worker.start()
worker.execute(...)
worker.requestTermination(processScheduledJobs = true)
Sam Schilling
09/30/2019, 8:39 PMkpgalligan
09/30/2019, 9:02 PMSam Schilling
09/30/2019, 9:03 PMkpgalligan
09/30/2019, 9:04 PMkpgalligan
09/30/2019, 9:05 PM