Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package nachos.myproj;
- import nachos.machine.Machine;
- import nachos.threads.Semaphore;
- public class MyConsole{
- Semaphore sem;
- String text;
- public MyConsole(){
- Machine.console().setInterruptHandlers(new Runnable() {
- @Override
- public void run() {
- // recv
- int karakter = Machine.console().readByte();
- if(karakter == 10){
- sem.V();
- return;
- }
- text+= (char)karakter;
- }
- }, new Runnable() {
- @Override
- public void run() {
- // sent
- sem.V();
- }
- });
- }
- public String readLine(){
- text = "";
- Machine.console().readByte();
- sem = new Semaphore(0);
- sem.P();
- return text;
- }
- public void writeLine(String text){
- for(int i=0;i<text.length();i++){
- Machine.console().writeByte(text.charAt(i));
- sem = new Semaphore(0);
- sem.P();
- }
- }
- }
Add Comment
Please, Sign In to add comment