자바 버퍼관련 문제인데요 좀 도와주세요...
뱐헀어
제가 자바는 ...잘 모르는데요...
어떻게 하다가 버퍼에 관련 소스를 해석해야할 일이 있어서요...
4가지가 되는데요...부탁드려요~~~~1. 버퍼클래스 : buffer
class buffer{
private string[] buffer;
private int in = -1;
private int out = -1;
private int count = 0;
public buffer(int size) {buffer=new string[size];)
public synchronized void put(string s) {
while (count =buffer.length)
try{wait(); } catch(interruptedexception e)
{return;};
count++;
buffer[++in % buffer.length]=s;
notifyall();}
public synchronized string get() {
while (count ==0)
try {wait(); }
catch(interruptedexception e) {return;};
count--;
string s=buffer[++out % buffer.length];
notifyall();
return s;
}
}
2. 생산자 클래스 : product
import java.util.date;
public calss product extends thread {
private buffer buffer;
private int millisecs;
private int iterations;
public producer(buffer b, int s, int n) {
buffer=b;
millisecs=s; iteration=n;
}
public void run() {
try {
for(int i=0;iiterations;i++) {
buffer.put(new date().tostring());
thread.sleep(millisecs);
}
}catch(interruptedexception e) { };
}
}
3. 소비자클래스 : consumer
public calss consumer extends thread {
private buffer buffer;
private int millisecs;
public consumer(buffer b, int s, int n) {
buffer =b;
millisecs=s; iterations=n;
}
public void run() {
try {
for(int i=0; iiterations; i++) {
system.out,println(buffer.get());
thread.sleep(millisecs);
}
} catch(interruptedexception e) {}
}
}
4. 유한버퍼 서비스 : boundedbuffer
public calss boundedbuffer{
public static void main(string[] arg) {
buffer buffer=new buffer(5);
producer producer = new producer(buffer, 1000, 20);
producer.start();
consumer consumer = new comsumer(buffer, 3000, 20);
consumer.start();
}
}
c도 마스터 하지도 못했지만.. 어떻게 하다가 이거 소스를 분석을 해야할 이유가 있어서요..
제가 자바를 잘 모르거든요...좀 도와 주세요...
-
채움늘
네...
-
핫파랑
Java인데 Visual Studio를 사용하시다니!!!!
ㅠ_ㅠ 공부를 차근히 시작하는게 좋아 보입니다. -
이뻐
네..알겠습니다...
-
꿈
참고로, 문법 자체는 어렵지 않지만..
동작 방식(?)을 이해 하시려면
패턴 책 중 생성자&소비자 패턴쪽을 살펴 보시면 도움이 되리라 봅니다. -
바나나맛캔디
Java 문법도 모르시는데 구태여 저 소스를 분석해야 될 이유가 뭔가요?
무엇보다, 주석이 필요한 부분도 거의 없는데..
저 소스에서 굳이 주석을 달고 말고 할게 뭐가 있나요-_-;;;
int a; // int 형 a변수를 선언한다.
int b; // int 형 b변수를 선언한다.
a = 0; // a변수의 값을 0으로 설정한다.
b = a; // b변수에 a변수의 값을 대입한다.
와 같은 학교 과제에서나 쓰일 쓸데 없는 주석을 원하는건 아닐테지요. -
으뜸
java 문법도 아예 모릅니다..ㅡㅡ;;;
소스는 보시는거 와 마찬가지로 다 되어 있습니다.
좀 귀찮으시더라도..제가 조금이나마 도움이 될수 있게
주석을 좀 달아 주셨으면 고맙겠습니다...(부탁드립니다) -
푸른잎
Java 문법도 제대로 모르는 상태에서..
코어 소스를 분석하셔야 될 이유를 모르겠지만..
뭘.. 어떻게 도와 달라는 말씀이신건지...
설마.. 문법을 알려 달라는건 아니실 테고..
그렇다고 관련 소스를 달라는것도 아닌
이미 소스까지 갖고 계시니
소스를 최대한 훑어 보시고 노트에 열심히 낙서 하셔야겠지요.
분석하다 막히는 부분들은 문법 책을 좀 보셔야 할 테고...
그래도 안되면 관련 부분을 문의 하시는게 좋으리라 봅니다.
막연히 도와 달라고만 하시