In Java, any object can act as a monitor - that's an entity with a sin dịch - In Java, any object can act as a monitor - that's an entity with a sin Việt làm thế nào để nói

In Java, any object can act as a mo

In Java, any object can act as a monitor - that's an entity with a single lock, an entry queue, and a waiting queue. An object's method without qualifed by the keyword synchronized can be invoked by any number of threads at any time, the lock is ignored. The synchronized method of an object, one and only one thread, who owns the lock of that object, can be permitted to run that method at any time;i.e. a synchronized method is mutually exclusive . If, at the time of invocation, another thread owns the lock, then the calling thread will be put in the Blocked state and is added to the entry queue.

The wait(), notify(), and notifyAll() methods should be called for an object only when the current thread has already locked the object's lock. This point sometimes goes unnoticed because programmers are used to calling these methods from within synchronized methods or blocks. Otherwise, you will get "java.lang.IllegalMonitorStateException: current thread not owner" at runtime.

When a thread running in a synchronized method of an object is calling the wait() method of the same object, that thread releases the lock of the object and is added to that object's waiting queue. As long as it's there, it sits idle. Note also that wait() forces the thread to release its lock. This means that it must own the lock of an object before calling the wait() method of that (same) object. Hence the thread must be in one of the object's synchronized methods or synchronized block before calling wait().

When a thread invokes an object's notify() or notifyAll() method, one (an arbitrary thread) or all of the threads in its waiting queue are removed from the waiting queue to the entry queue. They then actively contend for the object's lock, and the one that gets the lock goes on to execute. If no threads are waiting in the waiting queue, then notify() and notifyAll() have no effect. Before calling the notify() or notifyAll() method of an object, a thread must own the lock of the object. Hence it must be in one of the object's synchronized methods or synchronized block.

A thread in the waiting queue of an object can run again only when some other thread calls the notify() (or the notifyAll) method of the same object.

The reason to call wait() is that the thread does not want to execute a block of code until a particular state to be achieved. It wants to wait until a particular state to be achieved. The reason to call notify() or notifyAll() method is that the thread will signal others that "a particular state has been achieved". The state is a communication channel between threads and it must be shared mutable state.

For example, one thread read data from a buffer and one thread write data into buffer. The reading data thread needs to wait until the writing data thread completly write a block data into the buffer. The wirting data thread needs to wait until the reading data thread completly read the data from the buffer. If wait(), notify(), and notifyAll() methods can be called by a ordinary method , the reading thread calls wait() and the thread is being added to waiting queue . At just the same moment, the writing thread calls notify() to signal the condition changes. The reading thread misses the change and waits forever. Hence, they must be called inside a synchronized method or block which is mutually exclusive.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Ở Java, bất kỳ đối tượng có thể hoạt động như một màn hình - đó là một thực thể với một khóa duy nhất, một hàng đợi mục nhập, và một hàng đợi chờ đợi. Phương pháp một đối tượng mà không qualifed bằng từ khóa đồng bộ có thể được kích hoạt bởi bất kỳ số nào của chủ đề bất kỳ lúc nào, khóa được bỏ qua. Phương pháp đồng bộ của một đối tượng, một và chỉ một chủ đề, người sở hữu các khóa của đối tượng đó, có thể được phép chạy rằng phương pháp tại bất kỳ time;i.e. phương pháp đồng bộ một là loại trừ lẫn nhau. Nếu, vào lúc invocation, chủ đề khác sở hữu các khóa, sau đó gọi thread sẽ được đặt trong trạng thái bị chặn và sẽ được thêm vào hàng đợi mục nhập.Wait(), notify() và notifyAll() phương pháp nên được gọi là cho một đối tượng chỉ khi các chủ đề hiện tại đã có khóa của đối tượng khóa Thời điểm này đôi khi đi không được chú ý bởi vì lập trình sử dụng để gọi các phương pháp từ trong phương pháp đồng bộ hay khối. Nếu không, bạn sẽ nhận được "java.lang.IllegalMonitorStateException: chủ đề hiện tại không phải chủ sở hữu" tại thời gian chạy.Khi một sợi chạy trong một phương pháp đồng bộ của một đối tượng gọi phương pháp wait() của cùng một đối tượng, chủ đề bản phát hành các khóa của đối tượng và được thêm vào hàng đợi chờ đợi đối tượng đó. Miễn là nó là có, nó ngồi nhàn rỗi. Lưu ý cũng wait() rằng lực lượng các chủ đề để phát hành khóa. Điều này có nghĩa rằng nó phải sở hữu các khóa của một vật thể trước khi gọi các phương pháp wait() của đối tượng đó (cùng). Do đó các chủ đề phải trong một trong các đối tượng được đồng bộ hóa phương pháp hoặc đồng bộ chặn trước khi gọi wait().Khi một chủ đề invokes một đối tượng notify() hoặc phương pháp notifyAll(), một (một chủ đề tùy ý) hoặc tất cả các chủ đề trong hàng đợi chờ đợi của nó được rút khỏi xếp hàng chờ đợi để xếp hàng nhập cảnh. Họ sau đó tích cực cho cho các đối tượng khóa, và một trong đó được khóa đi vào để thực hiện. Nếu không có chủ đề đang chờ đợi trong hàng đợi chờ đợi, sau đó notify() và notifyAll() không có hiệu lực. Trước khi gọi phương pháp notify() hoặc notifyAll() của một đối tượng, một chủ đề phải sở hữu các khóa của đối tượng. Do đó, nó phải trong một trong các đối tượng được đồng bộ hóa phương pháp hoặc đồng bộ khối.Một chủ đề trong hàng đợi chờ đợi của một đối tượng có thể chạy một lần nữa chỉ khi một số khác chủ đề gọi notify() (hoặc notifyAll) các phương pháp của các đối tượng tương tự.Lý do để gọi cho wait() là rằng các chủ đề không muốn thực hiện một khối mã cho đến một nhà nước cụ thể để có thể đạt được. Nó muốn chờ đợi cho đến khi một nhà nước cụ thể để có thể đạt được. Lý do để gọi phương pháp notify() hoặc notifyAll() là rằng các chủ đề sẽ báo hiệu những người khác rằng "một nhà nước cụ thể đã đạt được". Bang là một kênh giao tiếp giữa chủ đề và nó phải là chia sẻ mutable bang.Ví dụ, một sợi đọc dữ liệu từ một bộ đệm và một sợi ghi dữ liệu vào bộ đệm. Đọc dữ liệu chủ đề cần phải đợi cho đến khi dữ liệu văn bản chủ đề hoàn toàn viết một khối dữ liệu vào bộ đệm. Viết chủ đề dữ liệu cần phải đợi cho đến khi các dữ liệu đọc chủ đề hoàn toàn đọc dữ liệu từ bộ đệm. Nếu phương pháp wait(), notify(), và notifyAll() có thể được gọi bằng một phương pháp thông thường, đọc thread gọi wait() và các chủ đề được thêm vào hàng đợi chờ đợi. Tại chỉ cùng một thời điểm, các chủ đề văn bản cuộc gọi notify() để báo hiệu những thay đổi điều kiện. Chủ đề đọc bỏ lỡ sự thay đổi và chờ đợi mãi mãi. Do đó, họ phải được gọi là bên trong một phương pháp đồng bộ hay khối mà là loại trừ lẫn nhau.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Trong Java, đối tượng nào có thể hành động như một màn hình - đó là một thực thể với một khóa duy nhất, một hàng đợi nhập cảnh, và một hàng đợi chờ. Phương thức của một đối tượng mà không qualifed bởi đồng bộ từ khóa có thể được gọi bởi bất kỳ số lượng các chủ đề bất cứ lúc nào, khóa sẽ được bỏ qua. Phương pháp đồng bộ của một đối tượng, một và chỉ một chủ đề, những người sở hữu khóa của đối tượng đó, có thể được phép để chạy mà phương pháp bất cứ lúc nào; tức là một phương pháp đồng bộ là loại trừ lẫn nhau. Nếu tại thời điểm gọi, chủ đề khác sở hữu khóa, sau đó các thread gọi sẽ được đặt trong tình trạng bị chặn và được thêm vào hàng đợi nhập cảnh. Sự chờ đợi (), notify () và notifyAll () phương pháp nên được gọi là cho một đối tượng duy nhất khi các chủ đề hiện đã bị khóa khóa của đối tượng. Điểm này đôi khi không được chú ý vì các lập trình được sử dụng để gọi các phương pháp từ bên trong phương pháp đồng bộ hoặc các khối. Nếu không, bạn sẽ nhận được "java.lang.IllegalMonitorStateException: hiện những chủ đề không chủ" tại thời gian chạy. Khi một thread chạy trong một phương pháp đồng bộ của một đối tượng được gọi wait () của cùng một đối tượng, mà thread phát hành các khóa của đối tượng và được thêm vào hàng đợi chờ của đối tượng đó. Miễn là nó có, nó ngồi nhàn rỗi. Cũng lưu ý rằng wait () buộc các chủ đề để thả khóa. Điều này có nghĩa rằng nó phải sở hữu các khóa của một đối tượng trước khi gọi wait () phương pháp đó (giống) đối tượng. Do đó các thread phải được ở một trong các phương pháp đồng bộ của đối tượng hoặc khối đồng bộ trước khi gọi wait (). Khi một thread gọi của một thông báo () hoặc đối tượng notifyAll () phương pháp, một (một chủ đề tùy ý) hoặc tất cả các chủ đề trong chờ đợi của mình hàng đợi được loại bỏ khỏi hàng đợi chờ vào hàng đợi nhập cảnh. Họ sau đó tích cực đấu tranh cho khóa của đối tượng, và một trong đó được khóa đi vào thực thi. Nếu không có chủ đề đang chờ đợi trong hàng đợi chờ, sau đó thông báo () và notifyAll () không có hiệu lực. Trước khi gọi thông báo () hoặc notifyAll () của một đối tượng, một thread phải sở hữu các khóa của đối tượng. Do đó nó phải ở trong một trong những phương pháp đồng bộ của đối tượng hoặc khối đồng bộ. Một chủ đề trong hàng đợi chờ của một đối tượng có thể chạy một lần nữa chỉ khi một số chủ đề khác gọi thông báo () (hoặc notifyAll) của cùng một đối tượng. Lý do để gọi wait () là các thread không muốn thực thi một khối mã cho đến khi một trạng thái đặc biệt để đạt được. Nó muốn chờ đợi cho đến khi một trạng thái đặc biệt để đạt được. Lý do để gọi thông báo () hoặc notifyAll () là phương pháp mà các thread sẽ báo hiệu những người khác rằng "một nhà nước cụ thể đã đạt được". Nhà nước là một kênh thông tin liên lạc giữa các chủ đề và nó phải được chia sẻ trạng thái có thể thay đổi. Ví dụ, một sợi đọc dữ liệu từ một bộ đệm và một thread ghi dữ liệu vào bộ đệm. Các chủ đề dữ liệu đọc cần phải chờ đợi cho đến khi thread ghi dữ liệu hoàn toàn viết khối dữ liệu vào bộ đệm. Các chủ đề dữ liệu wirting cần phải chờ đợi cho đến khi thread dữ liệu đọc hoàn toàn đọc dữ liệu từ bộ đệm. Nếu chờ đợi (), notify () và notifyAll () phương pháp có thể được gọi bằng một phương pháp thông thường, các cuộc gọi thread đọc chờ đợi () và các chủ đề đang được thêm vào để chờ đợi. Tại chỉ cùng một thời điểm, các cuộc gọi viết bài thông báo () để báo hiệu sự thay đổi điều kiện. Các thread đọc nhớ sự thay đổi và chờ đợi mãi mãi. Do đó, họ phải được gọi là bên trong một phương pháp đồng bộ hoặc block mà là loại trừ lẫn nhau.












đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: