📄 writerthread.java
字号:
public class WriterThread extends Thread { private int tnum,wdata; // thread number (greater than zero) private Semaphore[] flags; private Boolean[] continuous; private Semaphore db; private Data_base dtbs; private CodeWin win; private Gui abc; private String a="INITIAL",d="DB",e="DBASE"; public WriterThread(int n, Semaphore[] s, Boolean[] b,Semaphore dbas,Data_base dtbase, CodeWin w, Gui ab) { tnum = n; flags = s; continuous = b; db=dbas; dtbs=dtbase; win = w; abc = ab; } public void run() { while (true) {/*---------------------------------------------------------*/// CREATE_DATA(); // If this thread's step flag is false, wait if (continuous[0].booleanValue() == false) flags[tnum].down(); // When we get here, the step flag is true; thus we can take // (at least) one step win.step(tnum-3); wdata=dtbs.Createdata(); abc.dbase_data(tnum,wdata); // If we are not in continuous[0] mode (flag 0), // reset the step flag to false// if (continuous[0].booleanValue() == false)// flags[tnum].up(); /*---------------------------------------------------------*/// DOWN(DB); if (continuous[0].booleanValue() == false) flags[tnum].down(); abc.start_to_mutex_db(tnum); win.step(tnum-3); db.down(); abc.db_lock(tnum); // if (continuous[0].booleanValue() == false)// flags[tnum].up();/*---------------------------------------------------------*/// WRITE_DB(); if (continuous[0].booleanValue() == false) flags[tnum].down(); abc.db_to_dbase(tnum); win.step(tnum-3); dtbs.writedb(wdata); abc.write_dbase(tnum, wdata); // if (continuous[0].booleanValue() == false)// flags[tnum].up();/*---------------------------------------------------------*/// UP(DB); if (continuous[0].booleanValue() == false) flags[tnum].down(); abc.dbase_to_db(tnum); win.step(tnum-3); abc.db_unlock(tnum); db.up(); abc.db_to_start(tnum); // if (continuous[0].booleanValue() == false)// flags[tnum].up(); /*---------------------------------------------------------*/ if (continuous[0].booleanValue() == false) flags[tnum].down(); win.step(tnum-3, 2); // if (continuous[0].booleanValue() == false)// flags[tnum].up(); yield(); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -