一半同步-一半非同步
package com.freeflying.thread.sync; /** * 一半同步,一半非同步 * @ClassName: SyncAndAsync * @Description: * @author freeflying * @date 2018年7月2日 */ public class SyncAndAsync { public static void main(String[] args) { SyncAndAsyncEx syncAndAsyncEx=new SyncAndAsyncEx(); SyncAndAsyncExA syncAndAsyncExA=new SyncAndAsyncExA(syncAndAsyncEx); syncAndAsyncExA.start(); SyncAndAsyncExB syncAndAsyncExB=new SyncAndAsyncExB(syncAndAsyncEx); syncAndAsyncExB.start(); } } class SyncAndAsyncEx{ public void method() { for(int i=0;i<1000;i++) { System.out.println("async threadName:"+Thread.currentThread().getName()+"i"+(i+1)); } synchronized (this) { for(int i=0;i<1000;i++) { System.out.println("sync threadName:"+Thread.currentThread().getName()+"i"+(i+1)); } } } } class SyncAndAsyncExA extends Thread{ private SyncAndAsyncEx syncAndAsyncEx; public SyncAndAsyncExA(SyncAndAsyncEx syncAndAsyncEx) { this.syncAndAsyncEx=syncAndAsyncEx; } @Override public void run() { syncAndAsyncEx.method(); } } class SyncAndAsyncExB extends Thread{ private SyncAndAsyncEx syncAndAsyncEx; public SyncAndAsyncExB(SyncAndAsyncEx syncAndAsyncEx) { this.syncAndAsyncEx=syncAndAsyncEx; } @Override public void run() { syncAndAsyncEx.method(); } }
結果:同步的會同步執行,沒有在同步程式碼塊中的程式碼會非同步執行
相關推薦
synchronized一半同步一半非同步(菜鳥玩執行緒)
synchronized一半同步一半非同步 論證 不在synchronized塊中就是非同步執行,在synchronized塊中就是同步執行。 示例 自定義共享類 package com.chapter02.thread4; public class Task
一半同步-一半非同步
package com.freeflying.thread.sync; /** * 一半同步,一半非同步 * @ClassName: SyncAndAsync * @Description: * @author freeflying * @date 2018年7
Java執行緒-同步和非同步的區別
1. &nb
同步、非同步、阻塞、非阻塞、並行、併發、共享資源的同步
同步阻塞呼叫:得不到結果不返回,執行緒進入阻塞態等待。 同步非阻塞呼叫:得不到結果不返回,執行緒不阻塞一直在CPU執行。 非同步阻塞呼叫:去到別的執行緒,讓別的執行緒阻塞起來等待結果,自己不阻塞。 非同步非阻塞呼叫:去到別的執行緒,別的執行緒一直在執行,直到得出結果。
執行緒的同步和非同步理解
//當個執行緒訪問同一個資源的時候,要注意執行緒同步的問題,如果不同步容易造成資料沒及時修改,然後就被另一個執行緒訪問,得到的資料還是上一次的資料,造成資料錯誤的情況,以下demo可以很容易發現,為了便於發現我在上面休眠100毫秒,如果將ticket設為方法內的區域性變數則就不會共享了。 pa
IOS 呼叫WebService 同步和非同步
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
socket阻塞與非阻塞 同步與非同步 I/O模型
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
同步,非同步,阻塞,非阻塞
BIO:同步並阻塞,可以通過執行緒池改善 NIO:同步非阻塞,多路複用輪詢,適合連線數多且連結比較短 AIO:非同步非阻塞,客戶端的IO請求都是由OS 完成了再通知伺服器啟動執行緒處理,適合長連線(JDK7開始支援) 同步和非同步是針對應用程式和核心互動而言的,而阻塞和非阻塞針對程序在訪
ajax 的 async 的同步和 非同步
async 英語釋義為 “非同步,非同步”。在專案中使用時總是忽略了它的存在。 當 async 是設定為 “true(預設狀態)”,即表示非同步進行,在 $.ajax執行時,也會同時執行$.ajax ->url 中的東西(想當於有兩個執行緒同時進行)。 當 async 是設定
socket阻塞與非阻塞,同步與非同步、I/O模型(轉載只為查閱方便,若有侵權,立刪)
socket阻塞與非阻塞,同步與非同步 作者:huangguisu 1. 概念理解 在進行網路程式設計時,我們常常見到同步(Sync)/非同步(Async),阻塞(Block)/非阻塞(Unbl
關於js的同步和非同步,個人理解
之前對JS的同步和非同步一直搞不清楚,今天看了些文章,談談自己的理解。 非同步函式往往是有等待性質的函式,主流程在執行到等待的時候,為了提高效率,就把這個函式掛起了,放進一個等待的佇列。接著主程式繼續執行後面的函式。 一直執行到主程式佇列裡的函式執行完畢,這時主程式再去查詢等待佇列裡哪個程式等待
什麼是同步和非同步,什麼是阻塞和非阻塞
同步和非同步是針對應用程式和核心的互動而言的,同步指的是使用者程序觸發IO操作並等待或者輪詢的去檢視IO操作是否就緒,而非同步是指使用者程序觸發IO操作以後便開始做自己的事情,而當IO操作已經完成的時候會得到IO完成的通知。 以銀行取款為例: 同步:自己親自出馬持銀行卡到銀行取錢(使用同
Node學習基礎(三) 之檔案的同步和非同步寫入操作(fs_檔案系統)
下面遇到看不懂的可以去看官方文件。 首先引入fs模組 第二步開啟檔案 官方文件格式是這樣 path 檔案路徑 這裡例子裡是FileHello.txt 如果沒有這個檔案 所以他會自動建立 FileHello.txt
ajax同步,非同步簡單的介紹
星期天一個人搗鼓個人網站的事情,read8686.com,如果哪位開發者又歡迎大家一起探討,在文章的有我的微信 就是這樣的一個註冊的頁面,其
共識演算法——拜占庭問題中的同步、非同步
共識演算法——拜占庭問題中的同步、非同步 前言 最近在研究共識演算法,找到原始的paper,在對比拜占庭容錯演算法(BFT)和實用拜占庭容錯演算法(PBFT)的時候談到了同步和非同步。 同步VS非同步 從論文中看,同步實現的難度更大,非同步實現的難度更小。之前學過通訊原理,同
tornado_http同步IO非同步IO
同步IO: from tornado.httpclient import HTTPClient def synchronous(): http_client = HTTPClient() response = http_client.fetch('www.baidu.c
Ajax同步和非同步的區別,如何解決跨域問題
同步的概念應該是來自於OS中關於同步的概念:不同程序為協同完成某項工作而在先後次序上調整(通過阻塞,喚醒等方式).同步強調的是順序性.誰先誰後.非同步則不存在這種順序性. 同步:瀏覽器訪問伺服器請求,使用者看得到頁面重新整理,重新發請求,等請求完,頁面重新整理,新內容出現,使用者看到新內容,進行下一步操作。
同步呼叫 非同步呼叫+回撥機制
1 同步呼叫 非同步呼叫+回撥機制 提交任務的兩種方式: 同步呼叫 :提交任務必須等待任務完成,才能執行下一行 非同步呼叫 :提交任務不需要等待任務完成,立即執行下一行 任務執行的三種狀態: 阻塞 阻塞 遇到了IO操作 程式碼卡
同步、非同步與阻塞、非阻塞
UNIX下可用的I/O模型: 阻塞式I/O; 非阻塞式I/O; I/O複用(select,poll,epoll…); 訊號驅動式I/O(SIGIO); 非同步I/O(POSIX的aio_系列函式); 阻塞式I/O模型:預設情況下,所有套接字都是阻
阻塞和非阻塞、同步和非同步
阻塞和非阻塞 阻塞呼叫是指呼叫結果返回之前,呼叫者會進入阻塞狀態等待。只有在得到結果之後才會返回。 非阻塞呼叫是指在不能立刻得到結果之前,該函式不會阻塞當前執行緒,而會立刻返回。 2.同步與非同步 同步和非同步關注的是訊息通訊機制 (synchronous c