Почему нельзя написать во внутреннем анонимном классе
doExpensiveOperation(i);
пишет что i должна быть final или effectively final .
for(int i = 0; i < 10; i++){
           int count = i + 1;
            linkedBlockingQueue.add(
                    new Runnable() {
                        @Override
                        public void run() {
                            doExpensiveOperation(count);
                        }
                    }
            );
        }