原文:Java面試題:多線程交替打印字符串

這道題是字節的面試題,當場問我有點緊張沒想出來,只答上來要交替阻塞,還是面試官提醒我用生產者消費者思路解決。 題目 有A類線程 個,任務是打印字符A。有B類線程 個,任務是打印字符B。現在異步啟動這 個線程,問如何才能讓他們交替打印AB字符 解題思路 設兩個信號SemaphoreA和SemaphoreB,他們代表A類和B類的資源數且他們的上限各有一個。初始設SemaphoreA ,Semaphor ...

2020-07-08 10:15 0 576 推薦指數:

查看詳情

兩個線程交替打印字符串

每個對象都有一內置鎖 wait方法 釋放對象鎖(不占對象鎖) sleep方法不釋放對象鎖(占對象鎖) 優秀寫法 (下面寫法可能有問題,synchronized (LOCK) 提到 while ...

Fri Apr 11 19:02:00 CST 2014 0 7375
使用多線程循環交替打印字符

使用Condition + Lock 進行實現 private static int count_print = 1; (1)此處只能用static,來實現每打印一個字符,下一個字符長度加一,static是使該變量只有一個副本,任何改變都是對這個副本的內容做操作(2)若是想實現每打印一組,下一 ...

Wed Jun 13 18:45:00 CST 2018 0 1096
java面試題多線程交替輸出偶數和奇數

一個面試題:實現兩個線程A,B交替輸出偶數和奇數 問題:創建兩個線程A和B,讓他們交替打印0到100的所有整數,其中A線程打印偶數,B線程打印奇數 這個問題配合java多線程,很多種實現方式 在具體實現之前,首先介紹一下java並發編程中共享變量的可見性問題。 可見性問題: 在java ...

Mon Oct 26 01:16:00 CST 2020 0 727
多線程面試題之【三線程按順序交替打印ABC的方法】

建立三個線程,線程名字分別為:A、B、C,要求三個線程分別打印自己的線程名字,但是要求三個線程同時運行,並且實現交替打印,即按照ABCABCABC的順序打印打印10輪,打印完畢控制台輸出字符串:"打印完畢" 方法之一:使用Condition等待喚醒機制,代碼如下: ...

Mon May 20 00:42:00 CST 2019 0 2035
Java面試題字符串

  如果明天你要參加一場面試面試官有個題目是:說說String/StringBuffer/StringBuilder它們之間的區別?你會怎么回答呢?(腦補一下答案)今天,小編就來和大家詳細聊聊字符串String/StringBuffer/StringBuilder,告訴你怎樣完美的回答以上面試 ...

Tue Feb 13 17:20:00 CST 2018 0 1223
面試題-使用線程交替打印奇數偶數

這世上有三樣東西是別人搶不走的:一是吃進胃里的食物,二是藏在心中的夢想,三是讀進大腦的書 分析題目。需要使用兩個線程交替打印奇偶數。 使用同步鎖解決這個問題 使用信號量來實現交替打印 定義兩個信號量,一個奇數 ...

Tue May 21 23:37:00 CST 2019 4 1246
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM