love.thread.getChannel (Русский)

Available since LÖVE 0.9.0
This function is not supported in earlier versions.

Создаёт новый или получает существующий Канал для связи с Потоками.

Функция

Вид

channel = love.thread.getChannel( name )

Аргументы

string (Русский) name
Имя канала, который необходимо создать или получить.

Возвращает

Channel (Русский) channel
Объект канала, ассоциированный с этим именем.

Примеры

Общение между основным и созданным потоком

-- main.lua
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

-- thread.lua
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

Смотрите также

Другие языки