Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. import MySQL
  2. import PerfectThread
  3. #if os(Linux)
  4. import Glibc
  5. #else
  6. import Darwin
  7. #endif
  8.  
  9. let mysql = MySQL()
  10. let lock = Threading.Lock()
  11. var jobs = 10
  12.  
  13. func now(_ id: Int) {
  14. print("Job Now #", id)
  15. lock.doWithLock {
  16. let x = mysql.query(statement: "SELECT now() as time")
  17. guard x, let y = mysql.storeResults(),
  18. let row = y.next() else {
  19. print(mysql.errorMessage())
  20. return
  21. }
  22. print(row[0] ?? "Now() FAILED")
  23. y.close()
  24. jobs -= 1
  25. }
  26. }
  27.  
  28. func user(_ id: Int) {
  29. print("Job Usr #", id)
  30. lock.doWithLock {
  31. let x = mysql.query(statement: "select User from user")
  32. guard x, let y = mysql.storeResults(),
  33. let row = y.next() else {
  34. print(mysql.errorMessage())
  35. return
  36. }
  37. print(row[0] ?? "User() FAILED")
  38. y.close()
  39. jobs -= 1
  40. }
  41. }
  42.  
  43. _ = mysql.setOption(.MYSQL_SET_CHARSET_NAME, "utf8mb4")
  44. guard mysql.connect(host: "127.0.0.1", user: "root", password: "your pass", db: "mysql") else {
  45. print(mysql.errorMessage())
  46. exit(0)
  47. }
  48.  
  49. jobs = 10
  50. for id in 0 ..< 5 {
  51. Threading.dispatch {
  52. now(id)
  53. }
  54. Threading.dispatch {
  55. user(id)
  56. }
  57. }
  58.  
  59. while jobs > 0 {
  60. sleep(1)
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement