How to solve a "1 producer 2 consumers" problem in java

How to solve a "1 producer 2 consumers" problem in java

Content Index :

How to solve a "1 producer 2 consumers" problem in java
Tag : java , By : Stephen
Date : November 23 2020, 04:01 AM

will be helpful for those in need Maybe you can use the observer pattern.
More info: https://www.baeldung.com/java-observer-pattern

No Comments Right Now !

Boards Message :
You Must Login Or Sign Up to Add Your Comments .

Share : facebook icon twitter icon

I'm trying to solve the "knapsack" problem using Java and recursion

Tag : java , By : fukas78
Date : March 29 2020, 07:55 AM
Any of those help What is happening in your code is that when it gets to the last else statement, it is not removing the initial value that was put in. I made a small change to your code that may get you the results you are looking for. First, I had the recursive function return an int, which would be the capacity:
 public static int recknapSack(int capacity, int[] items, int branch) {
 return capacity;
 else {

             int firstItem; // this the first item, it will either be discarded (not included) or placed in the sack array (included)
             firstItem = items[0];

             items = Arrays.copyOfRange(items, 1, items.length); // for either recursive branch: remove the first item from the list

             recknapSack(capacity, items, 1); // call recursive function, left branch, where item is discarded and not placed in sack

             // prepare for right branch, where item is placed in sack
             capacity -= firstItem; // subtract the left most item weight from from capacity
             int temp = pos;
             sack[pos++] = firstItem; // place the item in the sack
             System.out.println("First item " + firstItem);
             int ret = recknapSack(capacity, items, 2); // recursive right branch call, item is placed in sack, weight subtracted from capacity
             if(ret != 0)
                  System.out.println("Removing " + sack[temp] + " at position " + (temp));
                 sack[temp] = 0;
                 pos = temp;


perl Kafka::Producer, "Kafka::Exception::Producer", "code", -1000, "message", "Invali

Tag : perl , By : user143729
Date : March 29 2020, 07:55 AM
To fix this issue I was able to solve by wrapping my string with utf8::downgrade. Somehow it was taking my string as utf-8, and kafka producer, had check for need non utf-8 string.
My working code:
 my $arcs_val = join( ',', @arc_a );
        my $hadoop_str = $testid . ',' . $gcda_file_name . ',' . $arcs_val;
         try {
                my $topic = $inputs[0];
                my $partition = $inputs[1];
                my $response = $producer->send(
                    $topic,                      # topic
                    $partition,                  # partition

Is "readers-writers" just "producer–consumer" with multiple consumers?

Tag : development , By : kraszie
Date : March 29 2020, 07:55 AM
This might help you Readers-Writers implies that the Readers do not modify the underlying state, thus many can simultaneously access it; however because a Writer can freely modify the state, no Reader can simultaneously access it.
Producer-Consumer is a common synchronization problem with two accessors: one that replenishes a resource and one that consumes it. You can’t have multiple producers or consumers simultaneously accessing it. The confusion may arise because there are many (restricted) implementations which use busy-waiting (er, transactional memory) to wrestle better performance out of this patten.

How to solve SQL "Unknown column 'c' in 'field list'" in JAVA while there is actually no syntax problem with i

Tag : java , By : Vitalik
Date : March 29 2020, 07:55 AM
will help you First of all, you should use prepared statements to avoid SQL injection. Your problem is that you forgot the quotes in your string columns, so your sintax is wrong. This way it should work:
statement.executeUpdate("INSERT INTO customer(customer_id,age,first_name,last_name,phone_nr,passport_number)"
        + " VALUES(2000,"+customer.getAge()+",'"+customer.getFirst_name()+"', '"+  
        customer.getLast_name()+ "', '" +  customer.getPhone_nr() + 
        "', '" +customer.getPassport_number() +"');");

producer-multi consumer problem, consumers finishes work before producer is done

Tag : python , By : yogan
Date : March 29 2020, 07:55 AM
To fix this issue You may apply Thread Event object as communication mechanism.
import queue
import threading
import sys
import time

q = queue.Queue(maxsize=0)

class Producer():
    def __init__(self, q):
        self.q = q

    def generate_item(self, event):
        t_name = threading.current_thread().name
        for i in range(1, 10):
            print(f"{t_name} generated item {i}")
        print(f'*** producer {t_name} finished work')

class Consumer():
    def __init__(self, q):
        self.q = q

    def consume_item(self, event):
        t_name = threading.current_thread().name
        while True:
            if not self.q.empty():
                    val = self.q.get(timeout=0.5)
                except queue.Empty:
                    if event.is_set():
                    print(f"{t_name} consumed item : {val}")
            elif event.is_set():
        print(f'*** consumer {t_name} finished work')

producer = Producer(q)
consumer = Consumer(q)
e = threading.Event()

threads = []
threads.append(threading.Thread(target=producer.generate_item, args=(e,), name="thread1"))
threads.append(threading.Thread(target=consumer.consume_item, args=(e,), name="thread2"))
threads.append(threading.Thread(target=consumer.consume_item, args=(e,), name="thread3"))
threads.append(threading.Thread(target=consumer.consume_item, args=(e,), name="thread4"))

for thread in threads:
# for thread in threads:
#     thread.join()
thread1 generated item 1
thread2 consumed item : 1
thread1 generated item 2
thread3 consumed item : 2
thread1 generated item 3
thread4 consumed item : 3
thread1 generated item 4
thread4 consumed item : 4
thread1 generated item 5
thread2 consumed item : 5
thread1 generated item 6
thread2 consumed item : 6
thread1 generated item 7
thread4 consumed item : 7
thread1 generated item 8
thread4 consumed item : 8
thread1 generated item 9
thread2 consumed item : 9
*** producer thread1 finished work
*** consumer thread3 finished work
*** consumer thread2 finished work
*** consumer thread4 finished work
Related Posts Related QUESTIONS :
  • android data binding error: cannot find symbol
  • Spring Boot application with a jar dependency does not run after maven build
  • Spring Data JPA query , filter ? search engine ? JPQL?
  • Why LiveData returns null in ViewModel?
  • what this line of code mean....new URLClassLoader(new URL[0],getClass().getClassLoader());
  • Why do need to use new Random() instead of just Random Randomnum?
  • I want to access zk components from the java file
  • How do I cast FieldValue.serverTimestamp() to Kotlin/Java Date Class
  • Insertion Sort Double Array with User Input - JAVA
  • Creating 2 dimesional array with user input and find sum of specific columns
  • can not get Advertising ID Provider in android
  • Convert list of Objects to map of properties
  • How to represent an undirected weighted graph in java
  • Return values as array from collection
  • ByteBuddy generic method return cast to concrete type
  • ImageView hides the round corners of the parent
  • Is there a way to find setter method by its getter method or vice versa in a class?
  • Get aggregated list of properties from list of Objects(Java 8)
  • Unable to find a document in Mongodb where exact date match in java
  • UsernamePasswordAuthenticationFilter skips success handler
  • Use Java filter on stream with in a stream filter
  • Default Login not successful in spring boot 2.1.7
  • Adding key value pairs from a file to a Hashmap
  • Rub regex: matching a char except when after by another char
  • Convert Base64 String to String Array
  • Escape Unicode Character 'POPCORN' to HTML Entity
  • An empty JSON field which is a boolean/nullable field in Java model, is getting converted as null
  • Mongo java driver cannot find public constructor for interface
  • How to unit test writing a file to AWS Lambda output stream?
  • How to make a GitHub GraphQL API Call from Java
  • What's the difference between @ComponentScan and @Bean in a context configuration?
  • Expected class or package adding a view using a class
  • can be delete of a element in a static array be O(1)?
  • Instance variable heap or stack ? ( with specific example)
  • Assert progress of ProgressBar in Espresso test
  • How to detect if gson.fromjson() has excess elements
  • I cant generate the proper code to select the a specific filter on a BI dashboard I am working on
  • How to Inject Dependencies into a Servlet Filter with Spring Boot Filter Registration Bean?
  • Thrift types as a Generic
  • Effective algorithm to random 4 unique integers less than a big max such as 100_000
  • Combining or and negation in Java regex?
  • Unable to instantiate default tuplizer Exception
  • Multi-tenant migration to work with quarkus
  • Ignite persisting a Set: Cannot find metadata for object with compact footer
  • Maven cannot resolve Jacob dependency using eclipse
  • testcontainers oracle database container starts before database user is created
  • Launching two spring boot apps in integration test
  • Is there a way to add a HashMap's value that is a integer array into a ArrayList?
  • Is there any way that I can get a parameter in paintComponent?
  • Empty stack with one recursive method and one iterative method
  • What's the behavior of onBackpressureBuffer in RxJava2
  • Java regex can only use 1 quantifier in a lookback (need 2)
  • How to fix error in native query : it is showing syntax error near or at
  • How to retrieve nested object from a document and display it in FirestoreRecyclerOptions?
  • Why not use ListIterator for full LinkedList Operation?
  • Android Webview EvaluateJavascript sometimes does not return a response
  • Matcher java doesn't work but regex seems to be good
  • Finding dimensions of a .gif file
  • Java Number format how to change +/- sign to custom text
  • Entity partially saved when using JOINED inheritance strategy and setting spring.jpa.properties.hibernate.jdbc.batch_siz
  • shadow
    Privacy Policy - Terms - Contact Us © scrbit.com