Tôi có một ứng dụng đa luồng. Tôi muốn chỉ có một thread để thực hiện chức năng của tôi và các chủ đề khác để vượt qua nó trong khi chức năng của tôi thực hiện. Tôi có thể làm cái này như thế nào?C# Chỉ có một chủ đề thực hiện
phương pháp của tôi là một cái gì đó như:
public void setOutput(int value)
{
try
{
GPOs gpos = reader.Config.GPO;
gpos[1].PortState = GPOs.GPO_PORT_STATE.TRUE;
gpos[2].PortState = GPOs.GPO_PORT_STATE.TRUE;
Thread.Sleep(WAIT);
gpos[1].PortState = GPOs.GPO_PORT_STATE.FALSE;
gpos[2].PortState = GPOs.GPO_PORT_STATE.FALSE;
}
catch (Exception ex)
{
logger.Error("An Exception occure while setting GPO to " + value + " " + ex.Message);
}
}
Sẽ không có hàng đợi chủ đề khác ở khóa? Điều đó dường như không phải là những gì OP đang yêu cầu –
@MatthewEvans Vâng, tôi hiểu sai ý nghĩa của * pass *. Tôi nghĩ bản chỉnh sửa sẽ phù hợp với điều đó. –