Mercurial Hosting > luan
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 |