Unity c#:
public class Standby : MonoBehaviour {
private System.Object sendLck;
Queue<byte[]> msgQue;
private Thread sendvThread;
private Thread recvThread;
void Start () {
sendLck = new System.Object();
msgQue = new Queue<byte[]>();
recvThread = new Thread(msgRec);
recvThread.Start();
sendvThread= new Thread(msgSend);
sendvThread.Start();
}
void Update () {
}
private void msgRec()
{
while (true)
{
lock (sendLck) {
if (msgQue.Count > 0)
{
byte[] sendbuf = msgQue.Dequeue();
}
}
}
}
private void msgSend(){
while (true)
{
System.Threading.Thread.Sleep(1000);
sendFun(1);
}
}
public void sendFun(byte data)
{
byte[] sendbuf = new byte[4];
sendbuf[0] = 0xaa;
sendbuf[1] = 0x03;
sendbuf[2] = 0x0a;
sendbuf[3] = data;
lock (sendLck)
{
msgQue.Enqueue(sendbuf);
}
}
}