1. 程式人生 > >java中什麼是Yield給出一個例子

java中什麼是Yield給出一個例子

馬克-to-win:yield英文是屈服投降的意思。當前執行緒投降就是當前執行緒希望釋放CPU的自己的佔用權,( 但系統可以忽略。)參見:https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#yield%28%29其中有這麼句話: A hint to the scheduler that the current thread is willing toyield its current use of a processor. The scheduler is free to ignorethishint.這樣的話當前執行緒yield時,有時雖然它自己想讓別的執行緒執行,但系統出於優化考慮,可能還是會讓當前的執行緒繼續執行。這樣的話,就會有一種不可控的效果,所以並行程式設計的最佳實踐建議少用yield。

例:1.5.5-本章原始碼

class ThreadMark_to_win extends Thread {
private String s;
public ThreadMark_to_win(String s) {
this.s = s;
}
public void run() {
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
System.out.println(s);
/*當前執行緒希望釋放CPU的自己的佔用權,( 但系統可以忽略。) */
Thread.yield();
}
}
}

public class Test {
public static void main(String[] args) {
Thread t1 = new ThreadMark_to_win("執行緒1");。。。。。。。。。。。。。。。。。
詳情請進:
http://www.mark-to-win.com/JavaBeginner/JavaBeginner6_web.html#Yield

相關推薦

java什麽是Yield一個例子

process ron rac 占用 itl its 繼續 並行 code 馬克-to-win:yield英文是屈服投降的意思。 (視頻下載) (全部書籍)當前線程投降就是當前線程希望釋放CPU的自己的占用權,( 但系統可以忽略它這個請求。)參見: https://docs

java什麼是Yield一個例子

馬克-to-win:yield英文是屈服投降的意思。當前執行緒投降就是當前執行緒希望釋放CPU的自己的佔用權,( 但系統可以忽略。)參見:https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#yield%28%29其中有這麼句話: A

java什麽是線程安全一個例子

who pub begin ati () pan 大白 執行 這就是 8.線程安全 什麽是線程安全? 馬克-to-win: (視頻下載) (全部書籍)最大的大白話,你的代碼一個線程執行挺好,一上多線程測試就玩兒完(結果不是你所想要的),這就是線程不安全。反之為線程安全。首

java什麽是線程不安全一個例子

class spa except one ref exceptio lan sleep print 下面我們再給出一個線程不安全的例子。 (視頻下載) (全部書籍)例:1.8.2-本章源碼class BookMark_to_win { int bookNum=10;

java例子程序:找兩個數的最大公約數和最小公倍數

strong big ont com 約數 計算 www main .html 9.2 找出12和8的最大公約數和最小公倍數。 (視頻下載) (全部書籍) public class Test { public static void main(String[]

java中線程優先級是怎麽回事一個例子

oss art interrupt blank static rst 有關 書籍 com j6.線程優先級 (視頻下載) (全部書籍) java中線程的優先級用1-10之間的數字表示,數值越大優先級越高,默認的優先級為5。Java中的線程優先級是在Thread類中定義的常量

javaTCP的ServerSocket通信的例子

ava throws sim clas servers server ali sys lose 2.TCP協議的通信實例 馬克-to-win:(視頻下載) (全部書籍)我們首先給出一個最最簡單的helloworld通信程序。讓大家體會一把兩臺機器的通信,大家之後就

Servlet一個Cookie的增刪改查的例子

2.Servlet與Cookie:(視訊下載) (全部書籍) 馬 克-to-win:Cookie有點像Session。Session是把鍵值對存在伺服器端,一個Servlet存值 ,另外一個Servlet可以取值。Cookie也是以鍵值對的形式用於讀取,不過是儲存在客戶端 瀏覽器的某個文本

Referer是怎麼用的,在Servlet當中請一個例子

3.Referer: 馬 克-to-win:我要是幫你賣出產品。我是不是不能白勞動?是不是該拿提成?對,沒錯。使用者經過我的網站跳到你的網站上,買了你的東西,應該給我提成。 這件事情用Servlet如何實現呢?下面就給出一個例子。如果經過AAA.html跳轉到我們的Servlet,我們就列印“給他提

java一個主執行緒如何捕獲子執行緒異常的例子

馬克-to-win:首先我們看主執行緒如何捕獲子執行緒的異常 例:1.5.4-本章原始碼 import java.lang.Thread.UncaughtExceptionHandler; class ThreadMark_to_win extends Thread { public void run() {

java一個Abstract類實現接口的實例!

let source Beginner 方法體 1.2 lan str example not 2.Abstract類實現接口 (視頻下載) (全部書籍) 馬克-to-win:如果實現某接口的類是abstract類,則它可以不實現該接口所有的方法。但其非abstract的子

一個jdbc的transaction例子

who statement 但是 The font mat prim apt pri 7.jdbc的transaction例子:(視頻下載) (全部書籍)import java.sql.*;public class MySQlTransaction1 { public s

一個JNDI用來查找dataSource的例子

alc chapter 視頻下載 user conn vax ref com ktr 8.JNDI用來查找dataSource的例子:(視頻下載) (全部書籍) import javax.naming.InitialContext;import javax.naming.C

一個SQLServer DataSource 數據源單態模式的例子

targe htm tro sin ron dex imp chapter for 5.SQLServer DataSource and SingleTon:(視頻下載) (全部書籍)import net.sourceforge.jtds.jdbcx.*;import ja

利用socket技術實現用java實現客戶端向服務端傳送檔案,伺服器端接收檔案並一個響應。

通訊是網路程式設計中重要的組成部分,而socket程式設計是網路程式設計的基礎。利用socket可以實現客戶端和伺服器端的通訊。下面我先把客戶端和伺服器端的程式碼粘上去再進行詳細的分析。 package test1; import java.io.File; import java.io

Java語言程式設計(基礎篇)第十版 程式設計練習題*3.11(一個月的總天數)

public class NumberOfDaysPerMonth { public static void main(String[] args) { // TODO Auto-generated method stub

一個javascript的Helloworld例子

1.基礎知識:1)Helloworld: 例 1.1 <html> <head>     <!--  馬克-to-win:如果你用notepad建立一個txt之後你再改為html,一定在存時,要存成utf-8或unicode格式,或者你也可以用

JSTL當中請一個c:choose和c:when:標籤的例子

3)c:choose,c:when:標籤 完成類似java的case的功能: 例 2.2.3 <%@ page contentType="text/html; charset=GBK"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/c

一個分治演算法來找n個元素序列第2大的元素

題目:給出一個分治演算法來找出n個元素序列中的第2大的元素。 如果不是題目要求用分治法,用遍歷或排序都比這個分治法要快。下面說說解題思路吧 解題思路:當序列A[1..n]中元素的個數n=2時,通過直接比較即可找出序列的第2大元素。當n>2時,先求出序列A[1..n-

一個含有n個數字的序列a1,a2,a3,...an,可以進行以下操作: 一次操作定義為對這個序列的每個數字進行以下兩種改變之一: 1.ai ÷ 2 2.ai × 3 每一次的操作,必須保證至少有

JAVA 給出一個含有n個數字的序列a1,a2,a3,…an,可以進行以下操作: 一次操作定義為對這個序列的每個數字進行以下兩種改變之一: 1.ai ÷ 2 2.ai × 3 每一次的操作中,必須保證至少有一個數字是第1種改變;並且經過每次操作後,每一