Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Sito implements Runnable {
- int id;
- public Sito(int id) {
- this.id = id;
- System.out.println("Witam, jestem watek nr: " + id );
- }
- @Override
- public void run() {
- int i = 1;
- try {
- while(i<Main.maximum)
- {
- Main.semaphore.acquire();
- i = Main.set.nextSetBit(i + 1);
- Main.semaphore.release();
- for (int j = i*2; j < Main.size; j += i)
- {
- if(Main.set.get(i)) {
- Main.set.clear(j);
- Main.semaphore.release();
- }
- else {
- Main.semaphore.release();
- break;
- }
- }
- }
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- private int getNextToCheck(int next) throws InterruptedException {
- Main.semaphore.acquire();
- int z= Main.set.nextSetBit(next + 1);
- Main.semaphore.release();
- return z;
- }
- private boolean clearIfNeeded(int i,int j) throws InterruptedException
- {
- Main.semaphore.acquire();
- if(Main.set.get(i)==false)
- {
- Main.semaphore.release();
- return false;
- }
- else {
- Main.set.clear(j);
- Main.semaphore.release();
- return true;
- }
- }
- }
Add Comment
Please, Sign In to add comment