[m-users.] What is the threading model

ardeujho ardeujho at cd.pn
Fri Mar 7 00:25:19 AEDT 2014

What is the threading model of Mercury? Does it depend on the grades? Is
it native threads or some form of green threads?

If I write a foreign C procedure that blocks will it block other mercury
threads that were created using 'spawn'? Or is this grade dependent?

Some simple testing seem to indicate I needed to call 'yield' to and
foreign calls block the system threads but I'm wondering if this is
actually the case. If it is the case, what should I do to prevent
blocking mercury threads?

More information about the users mailing list