問題タブ [lua-lanes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lua - Lua レーン間でグローバル変数を共有する
2つのレーン間でグローバル変数を共有したかったのですが、レーン1が共有変数を更新すると、スケジュールされたときにレーン2で更新された値を取得できるはずです。これに対する解決策はありますか?
以下のコードスニペット:-
lua - Lua レーン間のロック
2 つの Lua レーン間でロックを使用しようとしていますが、両方のレーンが同時に lock_func に入っていることがわかりました。以下はスニペットです。
以下の出力から、両方のレーンが同時に lock_func 関数に入ったことがわかります。
上記のコードからのロックの実装に問題はありますか?
lua - package.path 変数を lua レーンに渡す
package.path
ルアレーンに行きたかった
package.path
で引数として渡すことで、レーン1の一部になることは可能lanes.gen
ですか?
lua - upvalue を使用した場合の LuaLanes の奇妙な動作
[LuaLanes][1] 内で実行されている関数が upvalue の設定を無視しているように見えるこのコードがあるので、これが正常な動作であるかどうかを知りたいのですが、間違って使用しているかどうかを知りたいです。
Lanes で実行すると、アサーションは失敗しますが、正常に (予想どおり) だけ実行されmain()
ます。
を使用して出力main()
:
を使用して出力lanes.gen("*",main)()[1]
get_variable()
別のテーブルを設定した後でも同じテーブルを返すのはなぜですか? 何か案は?
PS: また、おそらく関連しているのですが、レーン内を走るとコモンが変化するのはなぜですか? 新しいレーンの Lua ステートに完全にコピーされますか?
multithreading - Lua socket.dns.toip がレーン スレッド ワーカーで機能しない
ホスト名をチェックしようとするマルチスレッドウォッチャーを作成しようとしています。簡単なコードは一般的な考え方を示しています。しかし、スレッドワーカーで sock.dns.toip を呼び出すと、スクリプトの奇妙な動作が発生しました。ワーカーは実行されません。ソケットコードをワーカーから除外すると、すべてが完全に機能します。
スレッドワーカーでsocket.dns.toipを実行するには?
c - Lua Lanes: C ライブラリの使用
Lua テストスクリプトを介してテストされる c ライブラリを実行しています。これは問題なく動作しますが、マルチスレッド化の時期であると判断しました。そのため、Lua Lanes の実装を開始しましたが、スレッド用の C ライブラリのロードで行き詰まりました。
関数テストがあります。これは実際のテスト スイート関数です (他のすべての関数を実行します)。最初に、次のように呼び出して別のスレッドにプッシュしようとしました。
明確local pwlog
にするために、関数ではなくグローバルに定義されています。
これはhttps://github.com/LuaLanes/lanes/issues/108に基づいていますが、彼が何を言っているのか正確に把握するのは難しいと感じました。さて、これは間違っていました:
lua: /usr/local/share/lua/5.1/lanes.lua:327: main: function 'pwlogs/block_size' not found in Lane #0x2390770 destination transfer database
よし、違うものを試してみた。テスト関数の先頭に 1 行追加しました。
そして、呼び出しを変更しました:
これはうまくいくと思いました。ここで pwlog は、スレッドが作成されるまで存在しないので、すべて問題ないと考えました。しかし、非常に不可解なエラーが返されました。
このエラーは、次の行でスローされます。
だから今私は立ち往生しています。C 関数を lua レーン スレッドにロードするにはどうすればよいですか?
Lua5.1を使用しています
lua - Lua-lanes から c 関数を呼び出す
レーンを使用して lua から c 関数を呼び出したい。
バリアント (1) を実行すると、Lua Error: module 'App' not found: no field package.preload['App']...no file '/App.lua'...
. バリアント (2) を実行すると、Bad library name: App
.
を使用して呼び出すApp.get_appinfo()
方法はlanes
? すべてのApp
関数をパッケージに移動できますが、ファイルシステムではなくメモリからロードする必要があります。すべての lua パッケージを埋め込みます。