제가 thread 안에서 또 thread를 돌리는데... 빨간색 thread안에 있는 bg한 정수값을 밖에 있는 thread에서도 쓰려면 어떻게 해햐 할까요!?ㅜㅜ
================================= 소스 ==================================================
int bg=1;
@Override
public void run() {
// TODO Auto-generated method stub
int df = 0;
int dd=1;
System.out.println("대기중.......");
//final int bg;
//re = new recive();
//re.start();
btf = new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
try{
server1 = new ServerSocket(bPort);
client = server1.accept();
//output1 = client1.getOutputStream();
//output.write(i);
input = client.getInputStream();
bg = input.read(); <== 이변수릐 값을 밑에서도 같이 쓰고 싶은데.. 밑에서는 이 값이 설정이 안되여.
System.out.println("BB>>>>"+bg);
input.close();
client.close();
}catch (Exception e){}
return;
}});
btf.start();
System.out.println(">>>> BG >>>>>"+bg);
try {
server = new ServerSocket(Port);
System.out.println("수신중.......");
System.out.println(">>>> BGss >>>>>"+bg);
if(bg == 1) <=== 이부분에서 쓰고 싶은데... 값이 넘어오지가 않네요,..ㅠㅠ
{
while(df < 2)
{
byte[] buf = new byte[1024];
while((client = server.accept()) != null)
{
System.out.println("client 접속......");
if(df == 0) file = new File("C:\\Users\\seongu\\Documents\\심장.jpg");
else if(df == 1) file = new File("C:\\Users\\seongu\\Documents\\심장박동기구조.jpg");
String flen = String.valueOf(file.length());
header = "0000000000".substring(0, 10-flen.length())+flen;
FileInputStream in = new FileInputStream(file);
output = client.getOutputStream();
output.write(header.getBytes());
while(in.available() > 0)
{
int rea = in.read(buf);
output.write(buf, 0, rea);
}
System.out.println(df+"번째 이미지 다운 완료");
df++;
}
output.close();
client.close();
server.close();
Thread.sleep(10000);
}
}
}
클래스 멤버로 선언하시면 됩니다.
static int bg;