java 线程休眠 假死_Processing Java 通讯线程假死

我构想了一个测试随机数的实验,即MCU产生随机数后,通过串口传递给上位机Processing,由Processing绘制点云来实现2D平面内的随机数可视化。坦白地说,Java的类库很不熟悉。我的Processing代码如下:

/*

* Random_Serial_2D.pde

*/

import processing.serial.*;

import java.util.StringTokenizer;

Serial myPort; // The serial port

String inString = null;

void setup() {

size(256, 256);

noSmooth();

background(0);

translate(0,0);

stroke(255);

printArray(Serial.list());

myPort = new Serial(this, Serial.list()[0], 9600);

}

void draw() {

int x, y;

String[] sa = null;

int sz;

while (myPort.available() > 0) {

myPort.bufferUntil('\n');

if (inString != null){

//print(inString);

inString = inString.replace("\r\n","");

sa = inString.split(",");

sz = sa.length;

if (sz==2){

x = Integer.parseInt(sa[0]);

y = Integer.parseInt(sa[1]);

point(x,y);

}

inString = null;

}

}

}

void serialEvent(Serial p){

inString = p.readString();

}

从mbed MCU处打印的随机数是这样的格式:"%d,%d\r\n"。截取一段如下:

141,188

255,198

193,224

83,138

53,68

231,142

233,232

187,210

221,204

207,86

17,240

35,26

133,84

183,30

57,248

139,98

现在的现象是,pde代码一旦加上parseInt之类的处理后,接收几组数据后会卡死在那里。我相信Java现在的速度不至于那么LOW,或许有人有过类似经验。请教一下。

单独使用Math.Random或串口收发,都不卡。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值