comparison src/luan/modules/Thread.luan @ 794:f16c77ef0f4f

add Parsers.json_string and Thread.global
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 05 Sep 2016 16:08:00 -0600
parents c9409e28daa2
children bae2d0c2576c
comparison
equal deleted inserted replaced
793:60661a8e738c 794:f16c77ef0f4f
1 java() 1 java()
2 local ThreadLuan = require "java:luan.modules.ThreadLuan" 2 local ThreadLuan = require "java:luan.modules.ThreadLuan"
3 local Luan = require "luan:Luan.luan"
4 local error = Luan.error
5 local set_metatable = Luan.set_metatable or error()
6
3 7
4 local M = {} 8 local M = {}
5 9
6 M.fork = ThreadLuan.fork 10 M.fork = ThreadLuan.fork
7 M.schedule = ThreadLuan.schedule 11 M.schedule = ThreadLuan.schedule
8 12
13
14 M.global = {} -- shared across threads
15 local map = ThreadLuan.StringMap.new()
16 local global_mt = {}
17 set_metatable(M.global,global_mt)
18
19 function global_mt.__index(_,key)
20 return map.get(key)
21 end
22
23 function global_mt.__new_index(_,key,value)
24 map.set(key,value)
25 end
26
27 function global_mt.get_timeout()
28 return map.timeout
29 end
30
31 function global_mt.set_timeout(timeout)
32 map.timeout = timeout
33 end
34
35
9 return M 36 return M