新建執行緒並啟動的幾種方法:
private thread thread=new thread("mythread");
thread.start();
private
class mythread extends thread catch (interruptedexception e) catch (interruptedexception e) catch (executionexception e) {
e.printstacktrace();
future的幾個主要方法:
future.get();//阻塞主任務完成
future.cancel(ture);
future.get(timeout);//等待一段時間
執行緒池executors中的部分方法
//乙個可以重用固定執行緒數的執行緒池,以共享的無界佇列方式來執行這些執行緒,
//在需要時可用threadfactory建立新執行緒,在關閉之前,池中的執行緒將一直
存在public
static executorservice newfixedthreadpool(int nthreads) {
return
new threadpoolexecutor(nthreads, nthreads,
0l, timeunit.milliseconds,
new linkedblockingqueue());
//用於建立新執行緒的預設執行緒工廠,
此工廠建立同乙個執行緒組
,如果有
securitymanager
//則它使用
system.getxecuritymanager()
返回的組
public
static threadfactory defaultthreadfactory() {
return
new defaultthreadfactory();
//建立乙個可以根據需要建立新執行緒的執行緒池
,以前建立的執行緒可用時就重用它們
public
static executorservice newcachedthreadpool(threadfactory threadfactory) {
return
new threadpoolexecutor(0, integer.max_value,
60l, timeunit.seconds,
new synchronousqueue(),
threadfactory);
//它可以在規定延遲後執行命令或定期執行
public
static scheduledexecutorservice newscheduledthreadpool(int corepoolsize) {
return
new scheduledthreadpoolexecutor(corepoolsize);
//在未來某個指定的時間執行給定的命令
void execute(runnable command);
//執行一次順序關閉
,執行一次之前提交的任務
,並不接受新任務
void shutdown();
執行緒的基本控制
thread.interrupt();
thread.sleep(0);
thread.join();
thread.start();
//過時的方法
thread.suspend();
thread.destroy();
thread.stop();
thread.resume();
學習筆記(九)併發(一)
class primerun implements runnable public void run 然後,下列 會建立並啟動乙個執行緒 primerun p new primerun 143 new thread p start 每個執行緒都有乙個標識名,多個執行緒可以同名。如果執行緒建立時沒有指...
資料庫學習筆記7 併發控制
事務在執行中不受其它事務干擾的方法 保持隔離性 序列 每個事務依次順序執行 並行但控制 事務之間併發執行,dbms調整事務的排程,使其執行結果與一次只執行乙個事務的結果相同 排程是可序列化的 多個事務交叉排程的結果與某乙個序列排程的結果相同 dbms認為事務序列排程的結果保持了資料庫的一致性,都是正...
併發程式設計學習筆記
併發程式設計第2章,基礎篇 2.1執行緒安全 1併發程式設計即是要控制對共享的可變的變數的訪問操作順序 2保證同步的方法,在語法 級別來說,可以使用synchronized,volatile,或者是現式的鎖,或者使用原子變數 3好的設計是避免執行緒危險的良方,使用oo的方法盡量避免執行緒的隱患。4執...