併發庫學習筆記一

2022-08-18 05:03:08 字數 1833 閱讀 6502

新建執行緒並啟動的幾種方法:

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執...