THE MYSTERY OF THE 20GB LOG FILE. Instructor: Prasun Dewan (FB 150,
|
|
- Aileen Murphy
- 5 years ago
- Views:
Transcription
1 THE MYSTERY OF THE 20GB LOG FILE Instructor: Prasun Dewan (FB 150,
2 PROBLEM? The server the grader is running on ran out of disk space so I'm currently compressing the 20GB of debug log files so there is space again. I'll post when it is done. 2
3 GRADER AT FAULT? Timeout the solution? Timeout is > 10 minutes A polling process can write lots of data in 10 minutes 3
4 POLLING SELECT A series of select called and select unblocked calls They occur after an exception 4
5 CONNECT CONCURRENT MODIFICATION java.util.concurrentmodificationexception at java.util.arraylist$itr.checkforcomodification(arraylist.java:909) at java.util.arraylist$itr.next(arraylist.java:859) at inputport.aconnectregistrarandnotifier.notifyconnect(aconnectregistrarandnotifier.java:29) at inputport.datacomm.simplex.buffer.agenericsimplexbufferclientinputport.notifyconnect(agenericsimplexbufferclientinputport.java:158) at inputport.datacomm.simplex.buffer.agenericsimplexbufferclientinputport.connected(agenericsimplexbufferclientinputport.java:187) at inputport.datacomm.simplex.buffer.nio.anniosimplexbufferclientinputportdriver.connected(anniosimplexbufferclientinputportdriver.java:89 at inputport.datacomm.duplex.buffer.nio.annioduplexbufferclientinputportdriver.connected(annioduplexbufferclientinputportdriver.java:24) at inputport.nio.manager.commands.classes.aconnectcommand.dogiveresponse(aconnectcommand.java:129) at inputport.nio.manager.commands.classes.aconnectcommand.processselectedoperation(aconnectcommand.java:156) at inputport.nio.manager.aselectionmanager.processselectedoperation(aselectionmanager.java:76) at inputport.nio.manager.aselectionmanager.run(aselectionmanager.java:111) at java.lang.thread.run(thread.java:748) 5
6 ACONNECTCOMMAND: TAKE 1 void dogivereponse() { SelectionKey selectionkey = socketchannel.keyfor(selectionmanager.getselector()); SocketChannelConnected.newCase(this, socketchannel, listeners); Tracer.info(this, "Registering read op for:" + socketchannel); for (SocketChannelConnectListener listener : listeners) listener.connected(socketchannel); changeinterestops(selectionkey); Listener throws exception Terminates method execution changeinterestops() not called to remove connect Connect is always enabled, causing select() unblocking 6
7 ACONNECTCOMMAND: TAKE 2 void dogivereponse() { SelectionKey selectionkey = socketchannel.keyfor(selectionmanager.getselector()); SocketChannelConnected.newCase(this, socketchannel, listeners); Tracer.info(this, "Registering read op for:" + socketchannel); changeinterestops(selectionkey); for (SocketChannelConnectListener listener : listeners) listener.connected(socketchannel); changeinterestops not hostage to listener code But calling method could get terminated prematurely 7
8 ACONNECTCOMMAND: TAKE 3 void dogivereponse() { SelectionKey selectionkey = socketchannel.keyfor(selectionmanager.getselector()); SocketChannelConnected.newCase(this, socketchannel, listeners); Tracer.info(this, "Registering read op for:" + socketchannel); changeinterestops(selectionkey); try { for (SocketChannelConnectListener listener : listeners) listener.connected(socketchannel); catch (Exception e) { e.printstacktrace(); Should calling method decide on what to do? Caller (lower-level layer) does not depend on or know about upcall and thus can ignore the exception and simply a print the message One listener hostage to code of another 8
9 ACONNECTCOMMAND: TAKE 4 void dogivereponse() { SelectionKey selectionkey = socketchannel.keyfor(selectionmanager.getselector()); SocketChannelConnected.newCase(this, socketchannel, listeners); Tracer.info(this, "Registering read op for:" + socketchannel); changeinterestops(selectionkey); for (SocketChannelConnectListener listener : listeners) { try { listener.connected(socketchannel); catch (Exception e) { e.printstacktrace(); Every upcall should be in a try-catch block (with a timer perhaps if thread creation is not an issue) 9
10 CONNECT CONCURRENT MODIFICATION java.util.concurrentmodificationexception at java.util.arraylist$itr.checkforcomodification(arraylist.java:909) at java.util.arraylist$itr.next(arraylist.java:859) at inputport.aconnectregistrarandnotifier.notifyconnect(aconnectregistrarandnotifier.java:29) at inputport.datacomm.simplex.buffer.agenericsimplexbufferclientinputport.notifyconnect(agenericsimplexbufferclientinputport.java:158) at inputport.datacomm.simplex.buffer.agenericsimplexbufferclientinputport.connected(agenericsimplexbufferclientinputport.java:187) at inputport.datacomm.simplex.buffer.nio.anniosimplexbufferclientinputportdriver.connected(anniosimplexbufferclientinputportdriver.java:89 at inputport.datacomm.duplex.buffer.nio.annioduplexbufferclientinputportdriver.connected(annioduplexbufferclientinputportdriver.java:24) at inputport.nio.manager.commands.classes.aconnectcommand.dogiveresponse(aconnectcommand.java:129) at inputport.nio.manager.commands.classes.aconnectcommand.processselectedoperation(aconnectcommand.java:156) at inputport.nio.manager.aselectionmanager.processselectedoperation(aselectionmanager.java:76) at inputport.nio.manager.aselectionmanager.run(aselectionmanager.java:111) at java.lang.thread.run(thread.java:748) But the exception occurred only in grader run It occurred in a higher level observable 10
11 ACONNECTNOTIFIERANDREGISTRAR public class AConnectRegistrarAndNotifier implements ConnectionRegistrarAndNotifier List<ConnectionListener> portconnectlisteners = new public void addconnectionlistener(connectionlistener portconnectlistener) { if (portconnectlisteners.contains(portconnectlistener)) { System.out.println ("Ignoring duplicate connect listnener"); return; public synchronized void notifyconnect (String remoteend, ConnectionType aconnectiontype) { Tracer.info(this, "Notifying connect to:" + remoteend); for (ConnectionListener portconnectlistener:portconnectlisteners) portconnectlistener.connected(remoteend, aconnectiontype); addconnectionlistener() not synchronized! Wish you could declare a class to be synchronized all public methods synchronized 11
12 ACONNECTNOTIFIERANDREGISTRAR: TAKE 2 public class AConnectRegistrarAndNotifier implements ConnectionRegistrarAndNotifier private List<ConnectionListener> portconnectlisteners = new public synchronized void addconnectionlistener(connectionlistener portconnectlistener) { if (portconnectlisteners.contains(portconnectlistener)) { System.out.println ("Ignoring duplicate connect listnener"); return; public synchronized void notifyconnect (String remoteend, ConnectionType aconnectiontype) { Tracer.info(this, "Notifying connect to:" + remoteend); for (ConnectionListener portconnectlistener:portconnectlisteners) portconnectlistener.connected(remoteend, aconnectiontype); Do not want subclass to allow concurrent modification Should provide synchronized protected getters and setters 12
13 MORAL With every mistake, we must surely be learning We help others by catching their mistakes! 13
JAVA BYTE IPC: PART 4-NON- BLOCKING-NIO-MANAGER. Instructor: Prasun Dewan (FB 150,
JAVA BYTE IPC: PART 4-NON- BLOCKING-NIO-MANAGER Instructor: Prasun Dewan (FB 150, dewan@unc.edu) MULTITHREADING ISSUES (LAST SLIDE FROM PREVIOUS PART) Thread that blocks on a select may not be the same
More informationCOMP 401: THE DUAL ROLE OF A CLASS. Instructor: Prasun Dewan (FB 150,
COMP 401: THE DUAL ROLE OF A CLASS Instructor: Prasun Dewan (FB 150, dewan@unc.edu) SCRIPTS ANALOGY Script Program Follows Follows Theater Performer 2 STRUCTURING IN SCRIPTS Script (Folder) Act (File)
More informationCOMP 401 FACTORIES. Instructor: Prasun Dewan
COMP 401 FACTORIES Instructor: Prasun Dewan NEW CONCEPTS Factory Classes Static Factory Methods Indirection Binding Time Reading Files Static Blocks Reflection Multi-Exception Catch Block Abstract Factories
More informationAP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS
AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this
More informationJAVA BYTE IPC: PART 1 DERIVING NIO FROM I/O. Instructor: Prasun Dewan (FB 150,
JAVA BYTE IPC: PART 1 DERIVING NIO FROM I/O Instructor: Prasun Dewan (FB 150, dewan@unc.edu) ROX TUTORIAL 2 ROX ECHO APPLICATION Client Server Client Client 3 ASSIGNMENT REQUIREMENTS Client Server Client
More informationCOMP 110/401 APPENDIX: INSTALLING AND USING ECLIPSE. Instructor: Prasun Dewan (FB 150,
COMP 110/401 APPENDIX: INSTALLING AND USING ECLIPSE Instructor: Prasun Dewan (FB 150, dewan@unc.edu) SCOPE: BASICS AND BEYOND Basic use: CS 1 Beyond basic use: CS2 2 DOWNLOAD FROM WWW.ECLIPSE.ORG Get the
More informationChapter 5 Object-Oriented Programming
Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares
More informationCOMP 401 THREAD COORDINATION. Instructor: Prasun Dewan
COMP 401 THREAD COORDINATION Instructor: Prasun Dewan INTERACTIVE TRAFFIC CONTROL How does a thread wait for an event? 2 WAIT FOR ANOTHER THREAD TO RELEASE METHOD Shuttle Animation Thread 1 Waiting on
More information3.1 Introduction. Computers perform operations concurrently
PROCESS CONCEPTS 1 3.1 Introduction Computers perform operations concurrently For example, compiling a program, sending a file to a printer, rendering a Web page, playing music and receiving e-mail Processes
More informationEXCEPTIONS. Objectives. The try and catch Statements. Define exceptions. Use try, catch and finally statements. Describe exception categories
Objectives Define exceptions 8 EXCEPTIONS Use try, catch and finally statements Describe exception categories Identify common exceptions Develop programs to handle your own exceptions 271 272 Exceptions
More informationDistributed Collaboration - Assignment 1: Multi-View 1-User IM
Distributed Collaboration - Assignment 1: Multi-View 1-User IM Date Assigned:??? 1-View Target Date:??? Multi-View Submission Date:??? Objectives: Understand the use of observer pattern in user -interface
More informationEXCEPTIONS. Java Programming
8 EXCEPTIONS 271 Objectives Define exceptions Exceptions 8 Use try, catch and finally statements Describe exception categories Identify common exceptions Develop programs to handle your own exceptions
More information1) Discuss the mutual exclusion mechanism that you choose as implemented in the chosen language and the associated basic syntax
Lab report Project 3 Mihai Ene I have implemented the solution in Java. I have leveraged its threading mechanisms and concurrent API (i.e. concurrent package) in order to achieve the required functionality
More informationLogistics. Final Exam on Friday at 3pm in CHEM 102
Java Review Logistics Final Exam on Friday at 3pm in CHEM 102 What is a class? A class is primarily a description of objects, or instances, of that class A class contains one or more constructors to create
More informationDISTRIBUTED SYSTEMS. Instructor: Prasun Dewan (FB 150,
DISTRIBUTED SYSTEMS Instructor: Prasun Dewan (FB 150, dewan@unc.edu) COURSE HOME PAGE http://www.cs.unc.edu/~dewan/734/current/index.html 2 LECTURES AND ASSIGNMENTS No book PPT slides and sometimes word
More informationProgramming with the Service Control Engine Subscriber Application Programming Interface
CHAPTER 5 Programming with the Service Control Engine Subscriber Application Programming Interface Revised: November 20, 2012, Introduction This chapter provides a detailed description of the Application
More informationProgramming with the Service Control Engine Subscriber Application Programming Interface
CHAPTER 5 Programming with the Service Control Engine Subscriber Application Programming Interface Revised: July 28, 2009, Introduction This chapter provides a detailed description of the Application Programming
More informationJava Threads. COMP 585 Noteset #2 1
Java Threads The topic of threads overlaps the boundary between software development and operation systems. Words like process, task, and thread may mean different things depending on the author and the
More informationJAVA EXAMPLES - SOLVING DEADLOCK
JAVA EXAMPLES - SOLVING DEADLOCK http://www.tutorialspoint.com/javaexamples/thread_deadlock.htm Copyright tutorialspoint.com Problem Description: How to solve deadlock using thread? Solution: Following
More informationCOMP 401 ANIMATION, THREADS, COMMAND OBJECTS. Instructor: Prasun Dewan
COMP 401 ANIMATION, THREADS, COMMAND OBJECTS Instructor: Prasun Dewan PREREQUISITE Animation MVC 2 TOPICS Animation Command Object Object representing an action invocation such as Do your homework. Threads
More informationClasses and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?
Peer Instruction 8 Classes and Objects How can multiple methods within a Java class read and write the same variable? A. Allow one method to reference a local variable of the other B. Declare a variable
More informationLecture 9: Introduction to Monitors
COMP 150-CCP Concurrent Programming Lecture 9: Introduction to Monitors Dr. Richard S. Hall rickhall@cs.tufts.edu Concurrent programming February 14, 2008 Abstracting Locking Details Recall our discussion
More informationContents. 6-1 Copyright (c) N. Afshartous
Contents 1. Classes and Objects 2. Inheritance 3. Interfaces 4. Exceptions and Error Handling 5. Intro to Concurrency 6. Concurrency in Java 7. Graphics and Animation 8. Applets 6-1 Copyright (c) 1999-2004
More informationExceptions. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 15
s Computer Science and Engineering College of Engineering The Ohio State University Lecture 15 Throwable Hierarchy extends implements Throwable Serializable Internal problems or resource exhaustion within
More informationCOMP1008 Exceptions. Runtime Error
Runtime Error COMP1008 Exceptions Unexpected error that terminates a program. Undesirable Not detectable by compiler. Caused by: Errors in the program logic. Unexpected failure of services E.g., file server
More informationJAVA CONCURRENCY FRAMEWORK. Kaushik Kanetkar
JAVA CONCURRENCY FRAMEWORK Kaushik Kanetkar Old days One CPU, executing one single program at a time No overlap of work/processes Lots of slack time CPU not completely utilized What is Concurrency Concurrency
More information2018/2/5 话费券企业客户接入文档 语雀
1 2 2 1 2 1 1 138999999999 2 1 2 https:lark.alipay.com/kaidi.hwf/hsz6gg/ppesyh#2.4-%e4%bc%81%e4%b8%9a%e5%ae%a2%e6%88%b7%e6%8e%a5%e6%94%b6%e5%85%85%e5 1/8 2 1 3 static IAcsClient client = null; public static
More informationThreads Chate Patanothai
Threads Chate Patanothai Objectives Knowing thread: 3W1H Create separate threads Control the execution of a thread Communicate between threads Protect shared data C. Patanothai Threads 2 What are threads?
More informationJava Array List Interview Questions
Java Array List Interview Questions codespaghetti.com/arraylist-interview-questions/ Array List Java Array List Interview Questions, Algorithms and Array List Programs. Table of Contents: CHAPTER 1: Top
More informationComputation Abstractions. Processes vs. Threads. So, What Is a Thread? CMSC 433 Programming Language Technologies and Paradigms Spring 2007
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Threads and Synchronization May 8, 2007 Computation Abstractions t1 t1 t4 t2 t1 t2 t5 t3 p1 p2 p3 p4 CPU 1 CPU 2 A computer Processes
More informationConcurrent Computing CSCI 201 Principles of Software Development
Concurrent Computing CSCI 201 Principles of Software Development Jeffrey Miller, Ph.D. jeffrey.miller@usc.edu Outline Threads Multi-Threaded Code CPU Scheduling Program USC CSCI 201L Thread Overview Looking
More informationCS 556 Distributed Systems
CS 556 Distributed Systems Tutorial on 4 Oct 2002 Threads A thread is a lightweight process a single sequential flow of execution within a program Threads make possible the implementation of programs that
More informationCREATED BY: Muhammad Bilal Arslan Ahmad Shaad. JAVA Chapter No 5. Instructor: Muhammad Naveed
CREATED BY: Muhammad Bilal Arslan Ahmad Shaad JAVA Chapter No 5 Instructor: Muhammad Naveed Muhammad Bilal Arslan Ahmad Shaad Chapter No 5 Object Oriented Programming Q: Explain subclass and inheritance?
More informationMVP1: Introduction to concurrency in JAVA
MVP1: Introduction to concurrency in JAVA Concurrency? A naive definition: More than one thing (activity) at a time. Independent activities: web download, number crunching, program editing, print. Dependent
More informationCS 351 Design of Large Programs Coding Standards
CS 351 Design of Large Programs Coding Standards Brooke Chenoweth University of New Mexico Spring 2018 CS-351 Coding Standards All projects and labs must follow the great and hallowed CS-351 coding standards.
More informationReading from URL. Intent - open URL get an input stream on the connection, and read from the input stream.
Simple Networking Loading applets from the network. Applets are referenced in a HTML file. Java programs can use URLs to connect to and retrieve information over the network. Uniform Resource Locator (URL)
More informationCMSC 330: Organization of Programming Languages
CMSC 330: Organization of Programming Languages Threads Synchronization Refers to mechanisms allowing a programmer to control the execution order of some operations across different threads in a concurrent
More informationJava Threads. Written by John Bell for CS 342, Spring 2018
Java Threads Written by John Bell for CS 342, Spring 2018 Based on chapter 9 of Learning Java, Fourth Edition by Niemeyer and Leuck, and other sources. Processes A process is an instance of a running program.
More informationChapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads
Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Objectives To introduce the notion of a
More informationCOMP 401 EXCEPTIONS. Instructor: Prasun Dewan
COMP 401 EXCEPTIONS Instructor: Prasun Dewan PREREQUISITE Inheritance Interfaces Input Iterator 2 EXCEPTIONS: WHAT? Exceptions have to do with error handling Run time Custom Error kinds Internal errors
More informationCS18000: Programming I
CS18000: Programming I Synchronization 22 February, 2010 Prof. Chris Clifton Concurrency Example: Banking class ATM { public void withdrawcash(acct a) { Scanner sc = new Scanner(System.in); int amount
More informationProcess Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey
CSC400 - Operating Systems 3. Process Concepts J. Sumey Overview Concurrency Processes & Process States Process Accounting Interrupts & Interrupt Processing Interprocess Communication CSC400 - Process
More informationEE458 - Embedded Systems Modularization
EE458 - Embedded Systems Modularization Outline Decomposing Applications Final Projects References RTC: Chapter 14 1 Decomposing Applications How do we break an application into concurrent tasks? How do
More informationCMPSCI 187: Programming With Data Structures. Lecture #20: Concurrency and a Case Study David Mix Barrington 24 October 2012
CMPSCI 187: Programming With Data Structures Lecture #20: Concurrency and a Case Study David Mix Barrington 24 October 2012 Concurrency and a Case Study Concurrency and Threads Example: Counter, Increase,
More informationNeed for synchronization: If threads comprise parts of our software systems, then they must communicate.
Thread communication and synchronization There are two main aspects to Outline for Lecture 19 multithreaded programming in Java: I. Thread synchronization. thread lifecycle, and thread synchronization.
More informationConcurrent Programming: Threads. CS 180 Sunil Prabhakar Department of Computer Science Purdue University
Concurrent Programming: Threads CS 180 Sunil Prabhakar Department of Computer Science Purdue University Objectives This week we will get introduced to concurrent programming Creating a new thread of execution
More information15CS45 : OBJECT ORIENTED CONCEPTS
15CS45 : OBJECT ORIENTED CONCEPTS QUESTION BANK: What do you know about Java? What are the supported platforms by Java Programming Language? List any five features of Java? Why is Java Architectural Neutral?
More informationCollections and Inheritance
COMP 401 Prasun Dewan 1 Collections and Inheritance In the previous chapter, we defined logical structures with fixed number of nodes. In this chapter, we will see how we can use arrays to define types
More informationModule - 4 Multi-Threaded Programming
Terminologies Module - 4 Multi-Threaded Programming Process: A program under execution is called as process. Thread: A smallest component of a process that can be executed independently. OR A thread is
More informationJava Programming Lecture 23
Java Programming Lecture 23 Alice E. Fischer April 19, 2012 Alice E. Fischer () Java Programming - L23... 1/20 April 19, 2012 1 / 20 Outline 1 Thread Concepts Definition and Purpose 2 Java Threads Creation
More informationFinal Exam COMP 401 Fall 2014
Final Exam COMP 401 Fall 2014 I have not received nor given any unauthorized assistance in completing this exam. Signature: Name: PID: The exam has 4 parts for a total of 135 points. This page intentionally
More informationIntro to multi-threaded programming in Java
jonas.kvarnstrom@liu.se 2015 Intro to multi-threaded programming in Java Intro 1: Multitasking Most operating systems allow multitasking Multiple tasks are run in parallel (given enough processor cores)
More informationCS 3331 Advanced Object-Oriented Programming Final Exam
Fall 2015 (Thursday, December 3) Name: CS 3331 Advanced Object-Oriented Programming Final Exam This test has 5 questions and pages numbered 1 through 10. Reminders This test is closed-notes and closed-book.
More informationTHIS EXAMINATION PAPER MUST NOT BE REMOVED FROM THE EXAMINATION ROOM
UNIVERSITY OF LONDON GOLDSMITHS COLLEGE B. Sc. Examination 2012 COMPUTER SCIENCE IS52025A Internet and Distributed Programming Duration: 2 hours 15 minutes Date and time: There are five questions in this
More informationMultithreaded Programming
Multithreaded Programming Multithreaded programming basics Concurrency is the ability to run multiple parts of the program in parallel. In Concurrent programming, there are two units of execution: Processes
More informationItem 18: Implement the Standard Dispose Pattern
Item 18: Implement the Standard Dispose Pattern 1 Item 18: Implement the Standard Dispose Pattern We ve discussed the importance of disposing of objects that hold unmanaged resources. Now it s time to
More informationThe Dining Philosophers Problem CMSC 330: Organization of Programming Languages
The Dining Philosophers Problem CMSC 0: Organization of Programming Languages Threads Classic Concurrency Problems Philosophers either eat or think They must have two forks to eat Can only use forks on
More informationProject. Threads. Plan for today. Before we begin. Thread. Thread. Minimum submission. Synchronization TSP. Thread synchronization. Any questions?
Project Threads Synchronization Minimum submission Deadline extended to tonight at midnight Early submitters 10 point bonus TSP Still due on Tuesday! Before we begin Plan for today Thread synchronization
More informationIntroduction to Computing II (ITI 1121) Final Examination
Université d Ottawa Faculté de génie École de science informatique et de génie électrique University of Ottawa Faculty of Engineering School of Electrical Engineering and Computer Science Introduction
More informationTimber: Time as a Basis for Embedded real-time systems. Andrew Black, Magnus Carlsson, Mark Jones, Dick Kieburtz, Johan Nordlander
Timber: Time as a Basis for Embedded real-time systems Andrew Black, Magnus Carlsson, Mark Jones, Dick Kieburtz, Johan Nordlander Timber objectives:! Design a language with explicit time behavior! Explore
More informationOperating Systems 2 nd semester 2016/2017. Chapter 4: Threads
Operating Systems 2 nd semester 2016/2017 Chapter 4: Threads Mohamed B. Abubaker Palestine Technical College Deir El-Balah Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition
More informationCS 342 Software Design Fall 2018 Term Project Part II Addition of Artifacts and Data File Processing
CS 342 Software Design Fall 2018 Term Project Part II Addition of Artifacts and Data File Processing Due: Wednesday 3 Oct. Electronic copy due at 12:30 P.M. Optional paper copy may be handed in during
More informationWeek 7. Concurrent Programming: Thread Synchronization. CS 180 Sunil Prabhakar Department of Computer Science Purdue University
Week 7 Concurrent Programming: Thread Synchronization CS 180 Sunil Prabhakar Department of Computer Science Purdue University Announcements Exam 1 tonight 6:30 pm - 7:30 pm MTHW 210 2 Outcomes Understand
More informationCOMP 401 EXCEPTIONS. Instructor: Prasun Dewan
COMP 401 EXCEPTIONS Instructor: Prasun Dewan PREREQUISITE Inheritance Interfaces Input Iterator 2 EXCEPTIONS: WHAT? Exceptions have to do with custom error handling Errors Internal errors in a program
More informationCMSC 330: Organization of Programming Languages. The Dining Philosophers Problem
CMSC 330: Organization of Programming Languages Threads Classic Concurrency Problems The Dining Philosophers Problem Philosophers either eat or think They must have two forks to eat Can only use forks
More informationConcurrent Programming
Concurrency Concurrent Programming A sequential program has a single thread of control. Its execution is called a process. A concurrent program has multiple threads of control. They may be executed as
More informationMore on Objects in JAVA TM
More on Objects in JAVA TM Inheritance : Definition: A subclass is a class that extends another class. A subclass inherits state and behavior from all of its ancestors. The term superclass refers to a
More informationShared-Memory and Multithread Programming
Shared-Memory and Multithread Programming Pruet Boonma pruet@eng.cmu.ac.th Department of Computer Engineering Faculty of Engineering, Chiang Mai University Based on a material by: Bryan Carpenter Pervasive
More informationChapter 4: Threads. Chapter 4: Threads
Chapter 4: Threads Silberschatz, Galvin and Gagne 2009 Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads 4.2
More informationErrors and Exceptions
Exceptions Errors and Exceptions An error is a bug in your program dividing by zero going outside the bounds of an array trying to use a null reference An exception isn t necessarily your fault trying
More informationCST242 Concurrency Page 1
CST242 Concurrency Page 1 1 2 3 4 5 6 7 9 Concurrency CST242 Concurrent Processing (Page 1) Only computers with multiple processors can truly execute multiple instructions concurrently On single-processor
More informationFinal Exam COMP 401 Fall 2014
Final Exam COMP 401 Fall 2014 I have not received nor given any unauthorized assistance in completing this exam. Signature: Name: PID: The exam has 4 parts for a total of 135 points. This page intentionally
More informationCOP 3330: Object Oriented Programming FALL 2017 STUDY UNION REVIEW CREDIT TO DR. GLINOS AND PROFESSOR WHITING FOR COURSE CONTENT
COP 3330: Object Oriented Programming FALL 2017 STUDY UNION REVIEW CREDIT TO DR. GLINOS AND PROFESSOR WHITING FOR COURSE CONTENT Object-Oriented Structure Program Structure Main structural elements of
More informationClass, Variable, Constructor, Object, Method Questions
Class, Variable, Constructor, Object, Method Questions http://www.wideskills.com/java-interview-questions/java-classes-andobjects-interview-questions https://www.careerride.com/java-objects-classes-methods.aspx
More informationCS 159: Parallel Processing
Outline: Concurrency using Java CS 159: Parallel Processing Spring 2007 Processes vs Threads Thread basics Synchronization Locks Examples Avoiding problems Immutable objects Atomic operations High"level
More informationInterrupts and Time. Real-Time Systems, Lecture 5. Martina Maggio 28 January Lund University, Department of Automatic Control
Interrupts and Time Real-Time Systems, Lecture 5 Martina Maggio 28 January 2016 Lund University, Department of Automatic Control Content [Real-Time Control System: Chapter 5] 1. Interrupts 2. Clock Interrupts
More informationG Programming Languages Spring 2010 Lecture 13. Robert Grimm, New York University
G22.2110-001 Programming Languages Spring 2010 Lecture 13 Robert Grimm, New York University 1 Review Last week Exceptions 2 Outline Concurrency Discussion of Final Sources for today s lecture: PLP, 12
More informationCOP 3330: Object Oriented Programming
COP 3330: Object Oriented Programming SPRING 2017 STUDY UNION REVIEW SUNDAY, APRIL 23 RD CREDIT TO DR. GLINOS AND PROFESSOR WHITING FOR COURSE CONTENT Object-Oriented Structure Program Structure Main structural
More informationProcess Description and Control
Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate
More informationInterfaces & Generics
Interfaces & Generics CSC207 Winter 2018 The Programming Interface The "user" for almost all code is a programmer. That user wants to know:... what kinds of object your class represents... what actions
More informationCS/B.TECH/CSE(OLD)/SEM-6/CS-605/2012 OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70
CS/B.TECH/CSE(OLD)/SEM-6/CS-605/2012 2012 OBJECT ORIENTED PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give their answers
More informationChapter 4: Multithreaded
Chapter 4: Multithreaded Programming Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues Operating-System Examples 2009/10/19 2 4.1 Overview A thread is
More informationSoftware and Programming 1
Software and Programming 1 Week 9 Lab - Use of Classes and Inheritance 8th March 2018 SP1-Lab9-2018.ppt Tobi Brodie (Tobi@dcs.bbk.ac.uk) 1 Lab 9: Objectives Exercise 1 Student & StudentTest classes 1.
More informationCHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY JAVA
1. JIT meaning a. java in time b. just in time c. join in time d. none of above CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY JAVA 2. After the compilation of the java source code, which file is created
More informationLecture 6 Collections
Lecture 6 Collections Concept A collection is a data structure actually, an object to hold other objects, which let you store and organize objects in useful ways for efficient access Check out the java.util
More informationCS193k, Stanford Handout #8. Threads 3
CS193k, Stanford Handout #8 Spring, 2000-01 Nick Parlante Threads 3 t.join() Wait for finish We block until the receiver thread exits its run(). Use this to wait for another thread to finish. The current
More informationJava Classes, Inheritance, and Interfaces
Java Classes, Inheritance, and Interfaces Introduction Classes are a foundational element in Java. Everything in Java is contained in a class. Classes are used to create Objects which contain the functionality
More informationCS193j, Stanford Handout #25. Exceptions
CS193j, Stanford Handout #25 Summer, 2003 Manu Kumar Exceptions Great Exceptations Here we'll cover the basic features and uses of exceptions. Pre-Exceptions A program has to encode two ideas -- how to
More informationCIT Special final examination
CIT 590-2016 Special final examination Name (please write your official name) PennID Number Note that your PennID number is the 8 digit bold number on your penn card. DO NOT START WRITING (aside from name
More informationG51PGP Programming Paradigms. Lecture OO-4 Aggregation
G51PGP Programming Paradigms Lecture OO-4 Aggregation 1 The story so far We saw that C code can be converted into Java code Note real object oriented code though Hopefully shows you how much you already
More informationCh 9: Control flow. Sequencers. Jumps. Jumps
Ch 9: Control flow Sequencers We will study a number of alternatives traditional sequencers: sequential conditional iterative jumps, low-level sequencers to transfer control escapes, sequencers to transfer
More informationIntroduction to Asynchronous Programming Fall 2014
CS168 Computer Networks Fonseca Introduction to Asynchronous Programming Fall 2014 Contents 1 Introduction 1 2 The Models 1 3 The Motivation 3 4 Event-Driven Programming 4 5 select() to the rescue 5 1
More informationCOMP346 Winter Tutorial 4 Synchronization Semaphores
COMP346 Winter 2015 Tutorial 4 Synchronization Semaphores 1 Topics Synchronization in Details Semaphores Introducing Semaphore.java 2 Synchronization What is it? An act of communication between unrelated
More informationReview what constitutes a thread Creating threads general Creating threads Java What happens if synchronization is not used? Assignment.
Review what constitutes a thread Creating threads general Creating threads Java What happens if synchronization is not used? Assignment Overview What constitutes a thread? Instruction pointer Stack space
More informationChapter 6 Parallel Loops
Chapter 6 Parallel Loops Part I. Preliminaries Part II. Tightly Coupled Multicore Chapter 6. Parallel Loops Chapter 7. Parallel Loop Schedules Chapter 8. Parallel Reduction Chapter 9. Reduction Variables
More informationCS193k, Stanford Handout #12. Threads 4 / RMI
CS193k, Stanford Handout #12 Spring, 99-00 Nick Parlante Threads 4 / RMI Semaphore1 Semaphore1 from last time uses the count in a precise way to know exactly how many threads are waiting. In this way,
More informationS.E. Sem. III [CMPN] Object Oriented Programming Methodology
S.E. Sem. III [CMPN] Object Oriented Programming Methodology Time : 3 Hrs.] Prelim Question Paper Solution [Marks : 80 Q.1(a) Write a program to calculate GCD of two numbers in java. [5] (A) import java.util.*;
More informationResearch on the Novel and Efficient Mechanism of Exception Handling Techniques for Java. Xiaoqing Lv 1 1 huihua College Of Hebei Normal University,
International Conference on Informatization in Education, Management and Business (IEMB 2015) Research on the Novel and Efficient Mechanism of Exception Handling Techniques for Java Xiaoqing Lv 1 1 huihua
More informationCMSC 433 Programming Language Technologies and Paradigms. Concurrency
CMSC 433 Programming Language Technologies and Paradigms Concurrency What is Concurrency? Simple definition Sequential programs have one thread of control Concurrent programs have many Concurrency vs.
More informationThe Kernel Abstraction
The Kernel Abstraction Debugging as Engineering Much of your time in this course will be spent debugging In industry, 50% of software dev is debugging Even more for kernel development How do you reduce
More information