問題タブ [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.

0 投票する
2 に答える
1061 参照

lua - Lua レーン間でグローバル変数を共有する

2つのレーン間でグローバル変数を共有したかったのですが、レーン1が共有変数を更新すると、スケジュールされたときにレーン2で更新された値を取得できるはずです。これに対する解決策はありますか?

以下のコードスニペット:-

0 投票する
1 に答える
201 参照

lua - Lua レーン間のロック

2 つの Lua レーン間でロックを使用しようとしていますが、両方のレーンが同時に lock_func に入っていることがわかりました。以下はスニペットです。

以下の出力から、両方のレーンが同時に lock_func 関数に入ったことがわかります。

上記のコードからのロックの実装に問題はありますか?

0 投票する
0 に答える
119 参照

lua - package.path 変数を lua レーンに渡す

package.pathルアレーンに行きたかった

package.pathで引数として渡すことで、レーン1の一部になることは可能lanes.genですか?

0 投票する
0 に答える
80 参照

lua - upvalue を使用した場合の LuaLanes の奇妙な動作

[LuaLanes][1] 内で実行されている関数が upvalue の設定を無視しているように見えるこのコードがあるので、これが正常な動作であるかどうかを知りたいのですが、間違って使用しているかどうかを知りたいです。

Lanes で実行すると、アサーションは失敗しますが、正常に (予想どおり) だけ実行されmain()ます。

を使用して出力main():

を使用して出力lanes.gen("*",main)()[1]

get_variable()別のテーブルを設定した後でも同じテーブルを返すのはなぜですか? 何か案は?

PS: また、おそらく関連しているのですが、レーン内を走るとコモンが変化するのはなぜですか? 新しいレーンの Lua ステートに完全にコピーされますか?

0 投票する
0 に答える
228 参照

multithreading - Lua socket.dns.toip がレーン スレッド ワーカーで機能しない

ホスト名をチェックしようとするマルチスレッドウォッチャーを作成しようとしています。簡単なコードは一般的な考え方を示しています。しかし、スレッドワーカーで sock.dns.toip を呼び出すと、スクリプトの奇妙な動作が発生しました。ワーカーは実行されません。ソケットコードをワーカーから除外すると、すべてが完全に機能します。

スレッドワーカーでsocket.dns.toipを実行するには?

0 投票する
0 に答える
479 参照

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を使用しています

0 投票する
2 に答える
33 参照

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 パッケージを埋め込みます。