国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

? Java Java??? Java ?? ?????, ????? ???? ?? ??? ??

Java ?? ?????, ????? ???? ?? ??? ??

Feb 02, 2021 pm 05:38 PM
?? ???

Java ?? ?????, ????? ???? ?? ??? ??

?? ?? ?? ????: java ?? ????

????? ???? ?? ???

  • 1.CountDownLatch
    • 1.2. ??? ?? ?? ??
    • 1.2. CountDownLatch ??? ??:
      • 1.2.1 CountDownLatch ??
      • 1.2.3 CountDownLatch ???
    • 1.3.CountDownLatch ??:
    • 1.4. ?? ??
  • 2. ??
    • 2.1. ???? ??
    • 2.2.???? 7? ??? ???? ??
  • 3.????
    • 3.1.???? ??
    • 3.2.?? ??
1.CountDownLatch

1.2.?: ???? ?? ??? ??

?? ??: ??? 7?? ??? ???? ?? ???? ??? ?? ?? ??? ??? ???. ???? ?? ??? ??? ??? ???? ??? ?? ?? ?? ? ????. ? ?? ?? ???? ??? ????? ?? ???? ??????. 6?? ??? ???? ?? ?? ?? ?? ??? ?????. 6?? ??? ?? ????? ???? ?? ????? ?????. ?? ???? ??? ???? ?? ?? ???? ??? ??? ??? ?? ???? ???? ??? ??? ?? ????

public?class?CountDownLatchDemo?{
	public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub
		for(int?i=1;i{
				System.out.println(Thread.currentThread().getName()+"\t離開教室");
			},String.valueOf(i)).start();
		}
		System.out.println(Thread.currentThread().getName()+"\t班長關(guān)門走人");
	}}

?? ?? ????


??? ??? ?? 3?? ??????. ?? ?? ??? ??? ? ???? ??? ??????. Java ?? ?????, ????? ???? ?? ??? ??
? ??? ???? ?? ???? ???? ?? ?? ?? ???? ??? ??? ??? ???? ???. JUC

1.2?? CountDownLatch ???? ???? ???. CountDownLatch ??? ??:

1.2.1 CountDownLatch ??

CountDownLatch? ?? ??? ? ?? ?? ??? ? ???? ???? ? ???? ??? ?? ??????. ?? ??? ?? ?? ??? ???(???? ??).

CountDownLatch? ???? ??? ???? ?? ???? ?? ?? ???? ??? ??? ??? ??? ? ????

. ???? ???? ?????. ???? ???? ??? ????. ? ???? ??? ???? ??? ?? 1? ?????. ??? ?? 0?? ?? ???? ?? ??? ????? CountDownLatch? ???? ???? ?? ?? ??? ??? ? ??? ?????. CountDownLatch ??: ??? ???, ??? ??, ?? ??

1.2.3 CountDownLatch ???

?? ???? ??? ???? ?? n ???? ??? ??? ??? ?????. CountDownLatch ???? ??? CountDownLatch(n)? ??????. ?? ???? ??? ??? ??? ???? 1 countdownLatch.countDown()? ?????. ??? ?? 0? ?? CountDownLatch? ??? wait()? ??????. ???? ?????? ????? ???? ??? ? ?? ???? ??? ???? ?? ?? ?? ??? ??? ??? ???? ??? ????.

CountDownLatch ?? ??? ?? ??

public?CountDownLatch(int?count)?{
????????if?(count?<br>1.3.CountDownLatch ???: <p><strong><pre class="brush:php;toolbar:false">public?static?void?main(String[]?args)?throws?InterruptedException?{
		//6個同學(xué)正在上自習,每個人就有一個1計數(shù)器,走1個數(shù)字減1,main線程啟動,必須要等計時器從6變成0,才能開始。
		CountDownLatch?countDownLatch=new?CountDownLatch(6);
		for(int?i=1;i{
				System.out.println(Thread.currentThread().getName()+"\t離開教室");
				countDownLatch.countDown();		//計算減少一個
			},String.valueOf(i)).start();
		}
		countDownLatch.await();	//班長前面需要被阻塞
		System.out.println(Thread.currentThread().getName()+"\t班長關(guān)門走人");
	}
?? ?? ????


?? ?? ???? ?? ?? ???? ?????, ???? ? ???? ?? ??? ? ????. ?? ????? ??? ??. Java ?? ?????, ????? ???? ?? ??? ??

1.4. ?? ??

CountDownLatch?? ?? ? ?? ???? ????. ?? ??? ???? Wait ???? ???? ?? ???? ?????.

?? ????? countDown ???? ???? ???? 1 ?????. (countDown ???? ???? ???? ???? ????.) ??? ?? 0? ?? Wait ???? ?? ??? ???? ???? ??? ?????.

2.CyclicBarrier

2.1 CyclicBarrier ??

????, ?? ??.

?? ???? ??? ?? ? ???? ??? ??? "?? ???"?? ?? ? ? ????. ?? ?? ??? ??? ??? ?????.


? ??? ?? ??? ???? ?? ?? ???? ??? ??? ???? ?? ????.
?? ???? ?? ?? ?? ?????? ???? ????. ???? ??? ??? ???? ??? ???? ?????.
?? ?? ??? ??? ? ??? ?? ?????.
?? ??, ???? ????? ??? ?? ??? ??? ? ????. ?? ??? ?? ??? ?? ?? ?? ??? ?? ??? ?? ????. ??? ? ????? ?? ??? ???? ?? ???? ??? ?????. ????? ??? ?????. ?? ???? ????? ??? CyclicBarrier???. ?? ??

public?CyclicBarrier(int?parties)public?CyclicBarrier(int?parties,?Runnable?barrierAction)

??:

??? ?? ???? ????.
? ?? ?? ???? Runnable ????? ???, ?? ????? ??? ????? ??? ??? ?????.
??? ????? ? ?? ???? ?????. .

2.2. ???: ???? 7?? ?? ???? ?????

public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub
		CyclicBarrier?cyclicBarrier=new?CyclicBarrier(7,()->{System.out.println("召喚神龍");});
		for(int?i=1;i{
				System.out.println(Thread.currentThread().getName()+"\t收集到第"+tempInt+"顆龍珠");
				try?{
					//某個線程收集到了龍珠只能先等著,等龍珠收齊了才能召喚神龍
					cyclicBarrier.await();
				}?catch?(Exception?e)?{
					//?TODO?Auto-generated?catch?block
					e.printStackTrace();
				}
			},String.valueOf(i)).start();;
		}
	}

截圖
Java ?? ?????, ????? ???? ?? ??? ??

3.Semophore

3.1.Semophore簡介

前面討論的問題都是多對一的問題,我們現(xiàn)在可以討論多對多的問題了。

假設(shè)有7個兄弟開車上班,而現(xiàn)在只有4個車位。7部車并列開進4個車位,每個車停了多長時間未知,資源被占用完了。假設(shè)有一個車只停了2s,那么它走了,外面的車又可以進來了。走一個進一個,最后全部都可以進去。而semophore就是控制多線程的并發(fā)策略。

簡單理解來說,Semaphore:信號量主要用于兩個目的:一個是用于多個共享資源的互斥使用;另一個用于并發(fā)線程數(shù)量的控制。

Semaphore類有兩個重要方法

1、semaphore.acquire();
請求一個信號量,這時候信號量個數(shù)-1,當減少到0的時候,下一次acquire不會再執(zhí)行,只有當執(zhí)行一個release()的時候,信號量不為0的時候才可以繼續(xù)執(zhí)行acquire

2、semaphore.release();
釋放一個信號量,這時候信號量個數(shù)+1,

3.2.搶車位問題

public?static?void?main(String[]?args)?{
		//模擬6部車搶3個空車位
		Semaphore?semaphore=new?Semaphore(3);//模擬資源類,有3個空車位
		for(int?i=1;i{
				try?{
					//誰先搶到了,誰就占一個車位,并且要把semaphore中的資源數(shù)減1
					semaphore.acquire();
					System.out.println(Thread.currentThread().getName()+"\t搶占到了車位");
					TimeUnit.SECONDS.sleep(3);
					System.out.println(Thread.currentThread().getName()+"\t離開了車位");
					
				}?catch?(Exception?e)?{
					//?TODO?Auto-generated?catch?block
					e.printStackTrace();
				}finally{
					//釋放車位
					semaphore.release();
				}
				
			},String.valueOf(i)).start();
		}
	}

運行結(jié)果截圖:
Java ?? ?????, ????? ???? ?? ??? ??

3.3.原理總結(jié)

在信號量上我們定義兩種操作:

acquire(獲取)當一個線程調(diào)用acquire操作時,它要么通過成功獲取信號量(信號量減1),要么一直等待下去,直到有線程釋放信號量,或超時。

release(釋放)實際上會將信號量的值加1,然后喚醒等待的線程。

信號量主要用于兩個目的:一個是用于多個共享資源的互斥使用;另一個用于并發(fā)線程數(shù)量的控制

如果把資源數(shù)從3變成1了,此時就等價于synchronized。

? ??? Java ?? ?????, ????? ???? ?? ??? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
Java ??? ?? ???? ?? ???? ???? ??? ?????? Java ??? ?? ???? ?? ???? ???? ??? ?????? Aug 04, 2023 pm 08:22 PM

Java ??? ?? ???? ?? ???? ???? ??? ?????? ?? ??? ????????? ?? ?? ???? ???? ?????. ?? ???? ??? ??? ???? ??? ? ???? ??? ???? ??? ??? ???, ??, ?? ?? ??? ??? ? ????. ? ????? Java ??? ???? ?? ???? ???? ?? ? ?? ?? ??? ?????. 1. ??? ??? ?? Java? ?? ???? ???? ?? ??? ????? ????, ? ? ?? ????? ???? ????? ??? ??????. ? ?? ???? ??? ?? ???? ????

Java ????? ?? ????? ?????? Java ????? ?? ????? ?????? Apr 15, 2024 pm 09:03 PM

??: ???? ????? ???? Java ????? ???? API? ?? ???? ???? ??? ???? ??? ? ???, ?? Java ????? ??? ??? ????? ???? ? ??? ? ????. ?? ????: ???? ???? ?????. ??? ????? ???? ?????. ???? ?????.

Java ?? ??? ? ??????? Fork/Join ?????? ???? ??? ?????? Java ?? ??? ? ??????? Fork/Join ?????? ???? ??? ?????? Apr 27, 2024 am 10:09 AM

Java?? Fork/Join ?????? ???? ?? ??? ???? ??? ?????? ?? ??? ???? ??? ????? ??? ?????. ?? ???? ???? ?? ForkJoinPool? ????. ??? ????? fork() ???? ?????. ?? ??? ???? Join() ???? ??????.

?? ??: Java ??? ??: ?? ?? ?? ?? ??: Java ??? ??: ?? ?? ?? Aug 25, 2023 pm 10:03 PM

?? ??: Java ??? ??: ?? ?? ?? ?? ??? ?? ??? ??????? ?? ???? ?????. ? ? ??? ???? ?? ?? ???? ??? ??? ??? ? ?? ??? ?????. ?? ??? ?? ???? ????, ???? ??? ? ???, ????? ?? ??? ? ?? ??? ??? ?????. ? ??? ???? ?? Java? ?? ?? ?? ????? ?????. ?? ?? ??? ??? ?? ???? ??? ?? ????? ??? ??? ???? ?? ??? ??? ?????. ?? ??? ???? ???? ?? ???? ??? ?? ? ????.

Java ?? ??? ? ??????? ??? ?? ??? ?????? Java ?? ??? ? ??????? ??? ?? ??? ?????? Apr 27, 2024 am 09:30 AM

Blocking Queue: ??? ? ?????? ?? ??? ?? Blocking Queue? ?? ? ????? ??????? ??? ?? ?? ??? ???? ?????? ??? ??????. ??? ???: ??? ???? ?? ??? ??? ???? ?????. ??? ??: ??? ???? ??? ? ??? ??? ??? ??? ??? ?????. ?? ???: ???? ?? ?? ???? ???? ???? ?? ??? ?????.

Java ??? ?? ?? ?? ??(ConcurrentRaceConditionErrorExceotion)? ???? ?? Java ??? ?? ?? ?? ??(ConcurrentRaceConditionErrorExceotion)? ???? ?? Aug 26, 2023 pm 12:57 PM

Java ??? ?? ?? ?? ? ??? ???? ?? ?? ??? ?? ???? ??? ?? ???? ????? ???? ??? ???? ?? ??? ???? ?? ??? ?? ??? ????. Java??? ?? ???? ??? ?? ???? ???? ? ??? ????? ???? ???? ??? ?? ?? ??? ?????. ?? ?? ??? ???? ????? ??? ?? ??? ??? ??? ??? ?? ????. ? ????? Java ??? ?? ?? ?? ??? ???? ??? ?? ?????. 1. ??? ????? ???? ?? ??? ???? ?? ???? ??

?? ??: Java ??? ??: ??? ?? ?? ?? ??: Java ??? ??: ??? ?? ?? Aug 18, 2023 pm 05:57 PM

?? ??: Java ??? ??: ??? ?? ?? ??: ??? ?? ??? ?? ??????? ?? ???? ?????. ?? ???? ???? ?? ???? ?? ???? ?? ???? ??? ??? ???? ?? ??? ??? ? ????. ? ????? ??? ?? ??? ??? ??, ? ??? ???? ??? ?????. ??? ?? ??? ??? ?? ???? ?? ???? ??? ??? ??? ? ???? ?? ?? ?? ???? ?? ??? ? ?? ?? ??? ?? ??? ?????. ??? ?? ??? ????? ?? ? ?? ??? ??? true?? ??? ?????.

Java ????? CountDownLatch? CyclicBarrier? ???? ?????? Java ????? CountDownLatch? CyclicBarrier? ???? ?????? Sep 06, 2023 pm 03:33 PM

CountDownLatch? CyclicBarrier? ?? ?? ??? ???? ???? ? ? ?? ??? ??? ?????. JavaDoc? ??? - CountDownLatch - ?? ??? ???? ?? ????? ???? ??? ??? ??? ??? ??? ? ??? ?? ??? ?????. CyclicBarrier - ??? ??? ?? ?? ?? ??? ??? ??? ??? ? ??? ?? ??? ?? ?????. ??. KeyCyclicBarrierCountDownLatch1? ???? ????? ??? ??? ??? ?? ?? ??? ????? ???? ?? ?? ????? ????? ? ? ????. ?? ??? ???? ?? ????? ???? ??? ??? ??? ? ??? ?? ??? ?????.

See all articles