JAVA course 27th (multi-thread (6)-Multi-producer and multi-consumer questions (JDK1.5 new features) and jdk1.5 New Features
Multiple producers and consumers
Take the production of steamed bread for example.
Class Resource {private String name; private int count = 1; private boolean flag = false; public synchronized void set (String name) {if (flag) {try {this. wait ();} catch (Exception e) {// TODO: hand
Preface: Recently in learning Java Multi-threading, see Importnew Online has a netizen translation of an article "block queue to achieve producer consumer model". In this article, the blocking queue in Java's concurrent package is used. After reading, implement the blocking queue by itself.(i) PreparationIn multi-threading, producer-consumer issues are a classic
DescriptionIn Java, the communication between threads is mainly done by the 3 methods of wait,notify , and Notifyall provided by the Java.lang.Object class:After the wait method of the ① object is called, the thread enters the object's wait queue, frees the object lock, and other threads can compete to use this object lock; Thesleep method puts a thread to sleep, but the resources that the thread occupies are not released.② when an object's notify met
the same group if both the producer and the consumer are in the same group About returnConsumer.createjavaconsumerconnector (NewConsumerconfig (properties)); $ } - - - Public Static voidMain (string[] args) { A NewKafkaconsumer ("Test"). Start ();//using the Kafka cluster to create a good theme test + the } - $}----FIX: Turn off the Linux
Crawlerthread, which is to search for files in a file hierarchy that conform to the index criteria and put their names in the work queue. A consumer task is given in Indexerthread, which is to remove the file names from the queue and index them.The example comes from the Java Concurrency Programming combat.class Crawlerthread extends Thread {private final blockingqueueThe producer-consumer model provides a
Producers and consumers are multi-threaded classic problem, the core of producer and consumer problem is the synchronization problem, the core of synchronization problem is to ensure the integrity of the same resource by multiple threads concurrent access, the common method is to use a signal or lock mechanism, to ensure that resources can only be accessed by one thread at any one time. There are 4 main ways that this problem can be implemented in
Java concurrency (basic knowledge)-blocking queue and producer consumer Mode1. Blocking Queue BlockingQueue is a thread-safe Queue version. It can be seen from its name that it supports blocking Queue implementation: When requesting data from an empty BlockingQueue, it will block BlockingQueue to a non-empty value. When inserting data into a full BlockingQueue, the thread will block BlockingQueue to be inse
queue. 5. The producer cannot place the product in the cache queue when the cache queue is full. 6. When the cache queue is empty, consumers cannot fetch products from the cache queue.
The cache queue in this sample mimics the Arrayblockingqueue in the Java JDK, which is a blocking queue that automatically suspends the producer thread itself when the cache
During this time, I have been working as a Java course TA with my tutor. Every day, I am bored with those boring questions! Today I finally met them with a difficult question:
Solve a single producer, single consumer problem using wait () and consumer y (). the producer must not overflow the generator's buffer, which can happen if the
, - //so the wake-up process is blocked, and if the consumer thread wakes up, the consumer thread starts to work) theSystem.out.println (Thread.CurrentThread (). GetName () + "production of a product current surplus quantity:" +curnum); the Try { theThread.CurrentThread (). Sleep (250);//control the speed of production the -}Catch(interruptedexception e) { the e.printstacktrace (); the } the}Else{94 the Try { t
The producer-consumer model is a classic multithreaded design pattern that provides a good solution for multithreaded collaboration. In producer-consumer mode, there are usually two types of threads, that is, several producer threads and several consumer threads. The producer thread is responsible for submitting the us
, so the communication between them is actually to read and write the shared resources . Of course, mutually exclusive means may be required to ensure data consistency.Tips
Now I think you can understand the relevant knowledge points of Java thread synchronization.A "shared resource", such as a member variable in a class, that is referred to as thread synchronization, which is actually shared by threads in the heap or in the method area in me
1. Production/consumer modelProduction/consumer issues are a very typical multithreaded problem, involving the "producer", "Consumer", "Warehouse" and "product". The relationship between them is as follows:(01) The producer will stop production only when the storage is not full and the warehouse is full.(02) Consumers can only consume goods when they are in storage, while Cang wait.(03) When consumers find
Examples of producer and consumer modes are used to explain the basic Java class methods such as wait, notify, notifyAll, and yypolicyall.
Wait (), Policy (), and policyall () are Java-based java. lang. Object methods.
General ExplanationWait (): wait for other threads to wake up in the current thread.Y (): Wake up a t
In fact, it should be the "producer-consumer-warehousing" model, leaving the warehouse, the producer consumer model is not convincing.
For this model, you should be clear about the following points:
1, the producers only in the warehouse is not full time production, warehouse full stop production.
2, the consumer only in the warehouse has the product time can consume, Cang waits.
3, when the consumer fo
Java multithreading (synchronization and deadlock, producer and consumer issues)
First, let's look at the synchronization and deadlock issues:
A deadlock means that A owns banana and B owns apple.
A said to B: If you give me apple, I will give you banana.
B said to a: If you give me banana, I will give you apple.
However, both A and B are waiting for the reply from the other party, so the final result is
producer produces the money needs to cycle to determine whether the current warehouse status is full, then the production line needs to wait, release lock allows other synchronization methods to execute.The sample code is as follows:public class Concurrence {public static void main (string[] args) {WareHouse WareHouse = new WareHouse (); Producer Producer = new
Kafka is a message middleware for passing messages between systems, and messages can be persisted!Can be considered as a queue model, but also can be seen as a producer consumption model;The simple producer consumer client code is as follows: PackageCom.pt.util.kafka;Importjava.util.Date;Importjava.util.Properties;ImportKafka.javaapi.producer.Producer;ImportKafka
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.