多執行緒問題一 一條執行緒列印0,一條執行緒列印1

2021-09-16 21:13:09 字數 1639 閱讀 8897

題目:乙個執行緒列印0,另乙個執行緒列印1

思路分析:

倆條執行緒互相喚醒,倆條執行緒不能同時執行,需要sync關鍵字

class phone

public synchronized void sendemail() throws exception

public void gethello()

/*** 

* * 

*         1 標準訪問,先列印簡訊還是郵件 2 停4秒在簡訊方法內,先列印簡訊還是郵件 3 新增普通的hello方法,是先打簡訊還是hello 4

*         現在有兩部手機,先列印簡訊還是郵件 5 兩個靜態同步方法,1部手機,先列印簡訊還是郵件 6 兩個靜態同步方法,2部手機,先列印簡訊還是郵件

*         7 1個靜態同步方法,1個普通同步方法,1部手機,先列印簡訊還是郵件 8 1個靜態同步方法,1個普通同步方法,2部手機,先列印簡訊還是郵件

*         ---------------------------------

* */

public class lock_8 catch (exception e)

}, "發簡訊的執行緒").start();

thread.sleep(1000);

new thread(() -> catch (exception e)

}, "發郵件的執行緒").start();}}

class sharedataone// 資源類

// 2幹活

++number;

system.out.println(thread.currentthread().getname() + " \t" + number);

// 3通知

this.notifyall();

}/***

* 減少方法,列印數字0

* * @throws interruptedexception

*/public synchronized void decrement() throws interruptedexception

// 2幹活

--number;

system.out.println(thread.currentthread().getname() + " \t" + number);

// 3通知

this.notifyall();}}

**********====

public class sharedataonetest catch (exception e)

}}, "列印0的執行緒1").start();

new thread(() -> catch (exception e)

}}, "列印0的執行緒2").start();

// 列印1,10次

new thread(() -> catch (exception e)

}}, "列印1的執行緒1").start();

new thread(() -> catch (exception e)

}}, "列印1的執行緒2").start();

}

一條線直銷,一條線迴圈簡析

直銷模式日益發展與完善,企業多樣化的營銷需求保守的直銷模式已經不能滿足,所以必須轉為一條線迴圈。模式先行一條線迴圈增加或減少系統功能皆是根據客戶自身的業務需求定製的。一條線直銷,一條線迴圈介紹 公排一條線直銷也稱為單軌制度,按報單時間的先後順序直線自動排列 橫度無限,深度無限,排列無限開,深度無限拿...

多執行緒併發更新同一條記錄

有乙個任務表,每個任務有n個事項要併發處理,每個事項完成時需要更新已完成數,即finished 1,當n個事項全部處理完成即整個任務完成時需要做任務的統計工作。資料庫通過行級鎖來保證併發更新準確性,測試 如下 publicclass concurrency conn.commit catch exc...

一條線段引發的思考

這周拿到一道有趣的題,決定寫篇blog記錄一下。問題描述如下 在一條長度為1的線段上任取兩個點,求這兩個點表示的線段的期望長度。這道題有很多種解法,非常有意思。首先,對於期望,它是這麼個東西 e x sum n p ix i 其中 e x 表示事件 x 的期望,p i 表示情況 x i 出現的概率,...