9月15執行緒學習

2021-08-08 06:36:10 字數 1513 閱讀 8021

建立執行緒的兩種方法:

(1)implements runnable

(2)extends thread   第一種方法應用範圍更廣,他的start方法  thread s1=new thread(new thread_name);  s1.start();

設定優先順序

hellothread_2.setpriority(thread.norm_priority+4);執行緒預設優先順序為5,優先順序越高,越先被執行,並不能確保真正的執行順序;

使用sleep方法暫時暫停執行緒

睡眠完後不一定立即執行,只是能夠參與競爭。

thread.sleep(time);毫秒級別,呼叫此方法一定會丟擲異常,使用try    catch;

不能在run()後面 throws ioexception 

用throws丟擲異常時,如果向主調處拋異常的方法是從父類繼承的或者是實現的介面的乙個方法。那麼覆蓋其方法時,如果原方法沒有拋異常,則子類中這個方法也不能丟擲異常。就用try catch進行處理:

thread.yield執行緒的讓步,該執行緒停留在這

thread dd=new....;

dd.join();

阻塞時將當前執行緒暫停,直至呼叫join函式所對應的執行緒執行完畢,才執行其他執行緒(重新爭奪cpu):

//車站賣票問題

synchronized 讓他管轄的**部分,要麼全部執行,要麼全部不執行

既可以修飾函式,   也可以修飾**塊--------synchronized(string)隨便傳入乙個string ,修飾函式不需要字串,相當於this。

public class ticket 

}class ticketthread implements runnable

else

}} }

}

生產者消費者問題

class ck catch (exception e) 	

} this.notify();

name[number]=aa;

number++;

system.out.println("當前正在生產第"+number+"個產品,名字為"+aa);

} public synchronized void xiaofei()

catch (exception e)

} this.notify();

char aa=name[number-1];

system.out.println("當前正在消費第"+number+"個產品,名字為"+aa);

number--; }}

class xf implements runnable

public void run()

}class sc implements runnable

public void run() }}

public class product

}

9月15日有感

通過我對自己以往工作的總結,發現自己基礎理論主要是偏重於軟體方面,比如主要做過一些 的開發,了解什麼是mvc框架,知道軟體開發的一般流程,並且有一定的程式設計經驗,後來做過一些作業系統和驅動的移植工作,但是不深入,僅僅是照本宣科。現在我的主要方向應該放在嵌入式方向的應用程式開發上,當然,我對開源的軟...

8月 9月學習總結

兩個月來,自我感覺一般。首先,我學會了很多新的演算法 三分 2016 08 14,說真的,我也不知道為什麼我那麼晚才會 主席樹 2016 08 15 ac自動機 2016 09 07 人工棧tarjan 2016 09 12 伸展樹splay 2016 09 29 但是,在比賽上,我常常會犯一些小錯...

工作學習筆記 9月

這個月工作比較緊張,沒有系統學習什麼新知識。平時會碰到一些半生不熟的東西,因為趕時間,上網查查,問問人,也能將就著用著。但是心裡總會有些不踏實,總想著能多明白一層也是好的。1.lua與c互動時的堆疊 每個lua state都只有乙個堆疊。當lua呼叫乙個c函式時,會保證這個函式可以使用lua min...