কম্পিউটার

জাভা 9 এ প্রকাশক-সাবস্ক্রাইবার ব্যবহার করে আমরা কীভাবে ফ্লো API প্রয়োগ করতে পারি?


ফ্লো API৷ (java.util.concurrent.Flow) Java 9 এ চালু করেছে . এটি প্রকাশককে বিভিন্ন উপায়ে বুঝতে সাহায্য করে এবং S গ্রাহক ইন্টারফেসগুলি পছন্দসই ক্রিয়াকলাপ সম্পাদন করতে ইন্টারফেস করে৷

ফ্লো AP৷ আমি প্রকাশক, গ্রাহক, সদস্যতা, নিয়ে গঠিত এবং প্রসেসর ইন্টারফেস, যা প্রতিক্রিয়াশীল স্ট্রিম স্পেসিফিকেশনের উপর ভিত্তি করে হতে পারে।

নিচের উদাহরণে, আমরা প্রকাশক-সাবস্ক্রাইবার ইন্টারফেস ব্যবহার করে ফ্লো API প্রয়োগ করতে পারি।

উদাহরণ

import java.util.concurrent.Flow.Publisher;
import java.util.concurrent.Flow.Subscriber;
import java.util.concurrent.Flow.Subscription;

public class FlowAPITest {
   public static void main(String args[]) {
      Publisher<Integer> publisherSync = new Publisher<Integer>() {   // Create publisher
         @Override
         public void subscribe(Subscriber<? super Integer> subscriber) {
            for(int i = 0; i < 10; i++) {
               System.out.println(Thread.currentThread().getName() + " | Publishing = " + i);
               subscriber.onNext(i);
            }
            subscriber.onComplete();
         }
      };
      Subscriber<Integer> subscriberSync = new Subscriber<Integer>() {   // Create subscriber
         @Override
         public void onSubscribe(Subscription subscription) {
         }
         @Override
         public void onNext(Integer item) {
            System.out.println(Thread.currentThread().getName() + " | Received = " + item);
            try {
               Thread.sleep(100);
            } catch(InterruptedException e) {
               e.printStackTrace();
            }
         }
         @Override
         public void onError(Throwable throwable) {
         }
         @Override
         public void onComplete() {
         }
      };
      publisherSync.subscribe(subscriberSync);
   }
}

আউটপুট

main | Publishing = 0
main | Received = 0
main | Publishing = 1
main | Received = 1
main | Publishing = 2
main | Received = 2
main | Publishing = 3
main | Received = 3
main | Publishing = 4
main | Received = 4
main | Publishing = 5
main | Received = 5
main | Publishing = 6
main | Received = 6
main | Publishing = 7
main | Received = 7
main | Publishing = 8
main | Received = 8
main | Publishing = 9
main | Received = 9

  1. কিভাবে আমরা জাভাতে JPopupMenu ব্যবহার করে ডান ক্লিক মেনু বাস্তবায়ন করতে পারি?

  2. জাভাতে বর্ডারফ্যাক্টরি ব্যবহার করে আমরা কীভাবে বিভিন্ন সীমানা প্রয়োগ করতে পারি?

  3. কিভাবে আমরা জাভাতে একটি JToggleButton বাস্তবায়ন করতে পারি?

  4. কিভাবে আমরা জাভাতে JWindow ব্যবহার করে একটি স্প্ল্যাশ স্ক্রিন বাস্তবায়ন করতে পারি?