Sha256: dc664d94cd1dbedd58c509cbdfb410d87908bcd84b0ef180c5f4d6489bcff219

Contents?: true

Size: 492 Bytes

Versions: 1

Compression:

Stored size: 492 Bytes

Contents

# frozen_string_literal: true

require 'bundler/setup'
require 'polyphony'

@op_count = 0

def lengthy_op
  @op_count += 1
  acc = 0
  count = 0
  100.times { acc += IO.read('../../docs/reality-ui.bmpr').bytesize; count += 1; p count }
  acc / count
end

spin do
  t0 = Time.now
  cancel_after(0.01) do
    data = Polyphony::Thread.spin { lengthy_op }.await
    puts "read #{data.bytesize} bytes (#{Time.now - t0}s)"
  end
rescue Exception => e
  puts "error: #{e}"
ensure
  p @op_count
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
polyphony-0.19 examples/core/thread_cancel.rb