love.thread.getChannel (日本語)

LÖVE 0.9.0 から使用可能
この関数は以前のバージョンでは非対応です。

名前ありスレッドのチャンネルを作成または検索します。

関数

概要

channel = love.thread.getChannel( name )

引数

string name
作成または検索をしたいチャンネルの名前。

返値

Channel channel
Channel オブジェクトに関連づけられた名前。

用例

メイン/スレッド間で通信を行います

-- メイン側
thread		= love.thread.newThread ( "thread.lua" );
thread:start ();
channel		= {};
channel.a	= love.thread.getChannel ( "a" );
channel.b	= love.thread.getChannel ( "b" );
channel.b:push ( "foo" );
 
function love.update ( dt )
	local v = channel.a:pop ();
	if v then
		print ( tostring ( v ) );
		channel.b:push ( "foo" );
	end
end
 
-- スレッド側
channel 	= {};
channel.a	= love.thread.getChannel ( "a" );
channel.b	= love.thread.getChannel ( "b" );
 
while true do
	local v = channel.b:pop ();
	if v then
		print ( tostring ( v ) );
		channel.a:push ( "bar" );
	end
end

関連


その他の言語