執行緒搶占CPU問題

2021-09-25 21:48:05 字數 794 閱讀 2743

public class work0805 

}class door implements runnable catch (interruptedexception e)

if (people >= 80)

people++;

system.out.println(

"第" + people + "人從" + thread.currentthread().getname() + "上車,剩餘" + (80 - people) + "個座位");

}} }

}

如圖,我把sleep放到了鎖裡面,然後每一次都會有乙個執行緒去搶占cpu。每一次解開鎖之後,三個執行緒搶占cpu的機率是相同 的。但是執行結果差強人意!如下!

//執行結果太多,所以擷取一部分!

第1人從中門上車,剩餘79個座位

第2人從中門上車,剩餘78個座位

第3人從中門上車,剩餘77個座位

第4人從中門上車,剩餘76個座位

第5人從中門上車,剩餘75個座位

第6人從中門上車,剩餘74個座位

第7人從中門上車,剩餘73個座位

第8人從中門上車,剩餘72個座位

第9人從中門上車,剩餘71個座位

第10人從中門上車,剩餘70個座位

第11人從中門上車,剩餘69個座位

第12人從中門上車,剩餘68個座位

第13人從前門上車,剩餘67個座位

第14人從前門上車,剩餘66個座位

求大佬幫忙!!!!!!!!

執行緒的排程有搶占式或者非搶占

在乙個程序裡,執行緒的排程有搶占式或者非搶占的模式。在搶占模式下,作業系統負責分配 時間給各個程序,一旦當前的程序使用完分配給自己的 時間,作業系統將決定下乙個占用 時間的是哪乙個執行緒。因此作業系統將定期的中斷當前正在執行的執行緒,將 分配給在等待佇列的下乙個執行緒。所以任何乙個執行緒都不能獨佔 ...

執行緒的搶占式和非搶占式排程

在乙個程序裡,執行緒的排程有搶占式或者非搶占的模式。在搶占模式下,作業系統負責分配 時間給各個程序,一旦當前的程序使用完分配給自己的 時間,作業系統將決定下乙個占用 時間的是哪乙個執行緒。因此作業系統將定期的中斷當前正在執行的執行緒,將 分配給在等待佇列的下乙個執行緒。所以任何乙個執行緒都不能獨佔 ...

RecyclerView搶占焦點問題

recyclerview搶占了焦點,自動滾動導致的.recyclerview會在構造方法中呼叫setfocusableintouchmode true 搶占焦點後一定會定位到第一行的位置,第一種方法 可以在nestedscrollview中新增屬性 android focusableintouchm...