请注意此处显示的代码,其中我在 MsgAndPack 类中声明变量,例如 BufferedOutputStream,然后在一个单独的线程中,在 public void run() 之后,我实例化了这些相同的变量。
这是不好的做法还是这样做有什么隐患?
我应该将这两个东西放在新创建的线程内部或外部的同一个地方吗?
public class MsgAndPack implements Runnable {
BufferedInputStream bistr;
BufferedOutputStream bostr;
FileInputStream fistr;
FileOutputStream fostr;
DataOutputStream dostr;
long length;
@Override
public void run() {
if (socket.isConnected()) {
try {
file = new File("/mnt/sdcard/JIend.db");
length = file.length();
byte[] bytes = new byte[(int) length];
fistr = new FileInputStream(file);
bistr = new BufferedInputStream(fistr);
bostr = new BufferedOutputStream(socket.getOutputStream());
dostr = new DataOutputStream(bostr);
int count;