Share java yield

chithanhngo

New member
** Phương thức java m suất () **

Phương thức `wield ()` trong java được sử dụng để tạm thời tạm dừng việc thực thi luồng hiện tại và cho phép các luồng khác chạy.Nó tương tự như phương thức `Sleep ()`, nhưng nó không giải phóng khóa trên bất kỳ đối tượng nào mà luồng giữ.Điều này có nghĩa là các chủ đề khác có thể truy cập vào các đối tượng đó, nhưng chúng không thể sửa đổi chúng.

Phương thức `năng suất ()` thường được sử dụng để cải thiện hiệu suất của các chương trình đa luồng.Bằng cách cho phép các luồng khác chạy, luồng hiện tại có thể từ bỏ CPU và cho phép các công việc khác được thực hiện.Điều này có thể giúp ngăn chặn chủ đề hiện tại độc quyền CPU và khiến các chủ đề khác bị bỏ đói.

Phương thức `năng suất ()` không được đảm bảo để thực sự mang lại CPU cho một luồng khác.Nếu không có chủ đề nào khác sẵn sàng để chạy, luồng hiện tại sẽ tiếp tục thực thi.Tuy nhiên, phương thức `năng suất ()` vẫn có thể hữu ích để cải thiện hiệu suất của các chương trình đa luồng.

** Cú pháp **

Cú pháp của phương thức `năng suất ()` như sau:

`` `
Năng suất khoảng trống tĩnh công khai ()
`` `

**Thông số**

Phương thức `m suất ()` không lấy bất kỳ tham số nào.

** Trả về **

Phương thức `năng ()` không trả về bất kỳ giá trị nào.

**Ví dụ**

Ví dụ sau đây cho thấy cách sử dụng phương thức `năng ()` để cải thiện hiệu suất của chương trình đa luồng:

`` `
lớp huyền thoại mở rộng chủ đề {

công khai void chạy () {
for (int i = 0; i <10; i ++) {
System.out.println ("Thread" + Thread.CurrentThread (). GetName () + "đang chạy");
năng suất ();
}
}
}

lớp công khai chính {

công khai void void main (String [] args) {
Chuyện truyền thuyết Thread1 = new MyThread ();
Threathread Thread2 = new MyThread ();

Thread1.start ();
Chủ đề2.start ();
}
}
`` `

Khi chương trình này được chạy, đầu ra sẽ tương tự như sau:

`` `
Thread Thread-0 đang chạy
Chủ đề-1 đang chạy
Thread Thread-0 đang chạy
Chủ đề-1 đang chạy
Thread Thread-0 đang chạy
Chủ đề-1 đang chạy
Thread Thread-0 đang chạy
Chủ đề-1 đang chạy
Thread Thread-0 đang chạy
Chủ đề-1 đang chạy
`` `

Như bạn có thể thấy, hai chủ đề đang chạy xen kẽ.Điều này là do phương thức `năng suất ()` cho phép mỗi luồng từ bỏ CPU và cho phép luồng khác chạy.

** hashtags **

* Java
* MultiThreading
* Đồng thời
* Hiệu suất
* Đồng bộ hóa
=======================================
**Java yield() Method**

The `yield()` method in Java is used to temporarily pause the execution of the current thread and allow other threads to run. It is similar to the `sleep()` method, but it does not release the lock on any objects that the thread holds. This means that other threads can access those objects, but they cannot modify them.

The `yield()` method is often used to improve the performance of multi-threaded programs. By allowing other threads to run, the current thread can give up the CPU and allow other work to be done. This can help to prevent the current thread from monopolizing the CPU and causing other threads to starve.

The `yield()` method is not guaranteed to actually yield the CPU to another thread. If no other threads are ready to run, the current thread will continue to execute. However, the `yield()` method can still be useful for improving the performance of multi-threaded programs.

**Syntax**

The syntax of the `yield()` method is as follows:

```
public static void yield()
```

**Parameters**

The `yield()` method does not take any parameters.

**Returns**

The `yield()` method does not return any value.

**Example**

The following example shows how to use the `yield()` method to improve the performance of a multi-threaded program:

```
class MyThread extends Thread {

public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("Thread " + Thread.currentThread().getName() + " is running");
yield();
}
}
}

public class Main {

public static void main(String[] args) {
MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();

thread1.start();
thread2.start();
}
}
```

When this program is run, the output will be similar to the following:

```
Thread Thread-0 is running
Thread Thread-1 is running
Thread Thread-0 is running
Thread Thread-1 is running
Thread Thread-0 is running
Thread Thread-1 is running
Thread Thread-0 is running
Thread Thread-1 is running
Thread Thread-0 is running
Thread Thread-1 is running
```

As you can see, the two threads are running alternately. This is because the `yield()` method is allowing each thread to give up the CPU and allow the other thread to run.

**Hashtags**

* Java
* Multithreading
* Concurrency
* Performance
* Synchronization
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top