Advertisement
airevent

lua threads doc

Jan 30th, 2012
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. thread.sleep( seconds, microseconds )
  2. вызвавший поток заснёт на seconds секунд и microseconds микросекунд
  3. ничего не возвращает
  4.  
  5. thread.join( thread )
  6. вызвавший поток будет ожидать завершения потока thread
  7. thread это userdata, полученная от thread.create
  8. возвращает true в случае успешного вызова
  9. возвращает nil, текст ошибки, код ошибки в случае провала
  10.  
  11. thread.create( function, argtable )
  12. запускает в отдельном потоке функцию function с аргументами argtable
  13. function - любая функция, можно даже сишную (например, print)
  14. argtable - список аргументов (ключ - индекс, начиная с 1, значение - аргумент)
  15. возвращает userdata в случае успешного запуска
  16. возвращает nil, текст ошибки, код ошибки в случае провала
  17.  
  18. thread.mutex()
  19. создаёт мьютекс
  20. возвращает userdata в случае успешного запуска
  21. возвращает nil, текст ошибки, код ошибки в случае провала
  22.  
  23. thread.cond()
  24. создаёт condition
  25. возвращает userdata в случае успешного запуска
  26. возвращает nil, текст ошибки, код ошибки в случае провала
  27.  
  28.  
  29.  
  30. thread userdata:
  31. t = thread.create ......
  32.  
  33. t:stop()
  34. мгновенно обрывает выполнение потока
  35. обрыв не произойдёт на крит. секции, т.к. используется lua_lock
  36.  
  37.  
  38.  
  39. mutex userdata:
  40. m = thread.mutex()
  41.  
  42. m:lock()
  43. войти в крит. секцию
  44.  
  45. m:unlock()
  46. выйти из крит. секции
  47.  
  48.  
  49.  
  50. condition userdata:
  51. c = thread.cond()
  52.  
  53. c:signal()
  54. c:broadcast()
  55. послать сигнал на прерывание wait
  56.  
  57. c:wait( mutex )
  58. начать ожидание сигнала
  59. mutex - userdata, созданная с помощью thread.mutex()
  60. использование:
  61. mx:lock()
  62. cond:wait(mx)
  63. mx:unlock()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement