2010-06-10 26 views

cevap

19

Hayır, bu işe yarayacak. Tüm yorumlayıcı durum, her Lua örneğinde kendini içerir. Lua'yı birden çok iş parçacığı ve/veya işlemle kullanmanın tercih edilen yolu olduğunu bile söyleyebilirim.

Eğer Lua arasında iletişim kurmak için ihtiyaç fark ederseniz

o zaman serileştirip C API kullanarak geçmek en iyisi, en sonunda belirtilmiştir. " Exploring Lua for Concurrent Programming" teknik incelemesini okumanızı öneririz. Bu inter-process communication için message passing birden fazla Lua processes kullanılmasına yönelik bir yöntem sunar.

5

Her iş parçacığı için tek bir lua_State oluşturmak, Lua uygulamasının birden fazla iş parçacığına sahip olması için iyi bir çözümdür. Bununla birlikte, bu durumlar ayrılan çok'dur. Özellikle, Lua API'sı, her lua_State'a her seferinde tek bir iş parçacığından erişildiği sürece yalnızca iş parçacığı güvenli olduğundan, bunlar arasında güvenli bir şekilde iletişim kurmak zordur. (O lua_lock ve lua_unlock sürece lua çekirdeğin inşa varsayılan girmeyen uygun bir Muteksleri olarak uygulanmaktadır.)

tecrit bu seviyede kabul edilebilir değilse, o zaman bir kaç birini araştırmak gerekir Lua örneklerinin dişli bir süreçte başkalarıyla iyi oynamasına izin veren mekanizmalar.

Benim favori seçim evreli bir şekilde aralarında değerleri mesajların geçmesi ve paylaşmak için bir mekanizma ile birlikte çoklu iş parçacığı sağlar Lua Lanes olduğunu. Çoğu Lua tipinin değerleri (kullandığı kütüphaneden biraz C tarafı desteği ile userdata dahil) bir şeritten diğerine güvenli ve verimli bir şekilde geçirilebilir.

Diğer mekanizmalar var ve bunların çoğu için iyi bir başlangıç ​​noktası Lua kullanıcının wiki page on MultiTaksing altındadır.

3

numaralı telefon numaranız arasındaki Lua örneklerini ilk önce C'ye dönüştürmeden iletmeye çalışmayın. Örneğin, örnekler arasında değişken tabloyu paylaşmak neredeyse imkansız olacaktır.

Ne sormak yapmak kolay geliyor ama mutlaka sadece çoklu süreçleri çalıştıran sahip daha başka faydalı, kendi Lua ve kendi adres alanı ile her.

İlgili konular