Inside Multi-Threading

Preview:

Citation preview

inside multi-threadingLaurent Esnault, Vice President of Engineering

•-

•-

•-

••

•-

••

•-

••

•-

••

••

•-

••

•••

••

•••

BE PREPARED NOT SCARED

BE PREPARED NOT SCARED

•••

BE PREPARED NOT SCARED

•••

BE PREPARED NOT SCARED

•••

••

•••

•••

•••

•••

••

BE PREPARED NOT SCARED

•••••

BE PREPARED NOT SCARED

•••••

<>myVar:=<>myVar+1

<>myVar:=<>myVar+1IDLE

IDLE

<>myVar:=<>myVar+1<>myVar:=<>myVar+1<>myVar:=<>myVar+1<>myVar:=<>myVar+1IDLE

IDLE

<>myVar:=<>myVar+1<>myVar:=<>myVar+1<>myVar:=<>myVar+1<>myVar:=<>myVar+1IDLEIDLE IDLE

<>myVar:=<>myVar+1CLEAR SEMAPHORE("myVar")

If(Not(Semaphore("myVar";1000)))

End if

••

•••---

myWorker

myWorker

myWorkerCALL WORKER("myWorker";"myMethod";$param)

myWorker

myWorkerCALL WORKER("myWorker";"myMethod";$param)

myWorker

myWorkerCALL WORKER("myWorker";"myMethod";$param)

myWorker

you’ve got mail!

myWorker

myWorker

CALL WORKER("myWorker"; "myMethod";$param)

myWorker

myWorker

CALL WORKER("myWorker"; "myMethod";$param)

myWorker

myWorker

myMethod($param)

CALL WORKER("myWorker"; "myMethod";$param)

myWorker

myWorker

CALL WORKER("myWorker"; "myMethod";$param)

BE PREPARED NOT SCARED

•••••

BE PREPARED NOT SCARED

•••••

••

•••---

myWindow

myWindow

myWindowCALL FORM($myWindow;"myMethod";$param)

myWindow

myWindowCALL FORM($myWindow;"myMethod";$param)

myWindow

myWindowCALL FORM($myWindow;"myMethod";$param)

myWindow

you’ve got mail!

myWindowCALL FORM($myWindow; "myMethod";$param)

myWindow

myWindowCALL FORM($myWindow; "myMethod";$param)

myWindow

myWindowCALL FORM($myWindow; "myMethod";$param)

myWindow

myMethod($param)

myWindowCALL FORM($myWindow; "myMethod";$param)

myWindow

Windows

Mac

v12

Windows

Mac

v12

Windows

Mac

v13

OD BC

v12

Windows

Mac

v13

OD BC

v15

OD BC

v12 v15 Rx

Windows

Mac

v13

OD BC

v15

OD BC

v12 v15 Rx v15 R5

Windows

Mac

v13

OD BC

v15

OD BC

v12 v15 Rx v15 R5 v16

Windows

Mac

v13

OD BC

v15

OD BC