может кто-нибудь сказать, будет ли код ниже работать нормально?подтверждающий программный поток
class CriticalSection{
int iProcessId, iCounter=0;
public static boolean[] freq = new boolean[Global.iParameter[2]];
int busy;
//constructors
CriticalSection(){}
CriticalSection(int iPid){
this.iProcessId = iPid;
}
int freqAvailable(){
for(int i=0; i<
Global.iParameter[2]; i++){
if(freq[i]==true){
//this means that there is no frequency available and the request will be dropped
iCounter++;
}
}
if(iCounter == freq.length)
return 3;
BaseStaInstance.iNumReq++;
return enterCritical();
}
int enterCritical(){
int busy=0;
for(int i=0; i<Global.iParameter[2]; i++){
if(freq[i]==true){
freq[i] = false;
break;
}
}
//implement a thread that will execute the critical section simultaneously as the (contd down)
//basestation leaves it critical section and then generates another request
UseFrequency freqInUse = new UseFrequency;
busy = freqInUse.start(i);
//returns control back to the main program
return 1;
}
}
class UseFrequency extends Thread {
int iFrequency=0;
UseFrequency(int i){
this.iFrequency = i;
}
//this class just allows the frequency to be used in parallel as the other basestations carry on making requests
public void run() {
try {
sleep(((int) (Math.random() * (Global.iParameter[5] - Global.iParameter[4] + 1)) + Global.iParameter[4])*1000);
} catch (InterruptedException e) { }
}
CriticalSection.freq[iFrequency] = true;
stop();
}
Возможно, если вы правильно переформатируете/отредактируете код. Отступ является фиктивным, и это затрудняет интерпретацию кода. Если вы используете Eclipse, просто нажмите «Ctrl + Shift + F». Далее также подробно расскажите, какова фактическая проблема с кодом. Что происходит? Что не происходит? Как этого не хватает? SSCCE (http://sscce.org), который мы можем просто скопировать, не может быть прекрасным. – BalusC
Вместо публикации огромного блока кода вы можете рассмотреть возможность размещения более конкретного вопроса о коде с соответствующими фрагментами. Или, по крайней мере, отформатировать его правильно; это действительно трудно читать без отступов. –
Как я могу вам сказать, будет ли это работать, если вы не скажете мне, что он собирается делать? – Pops