Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Computer Laboratory – Course pages 2015–16: Concurrent and Distributed Systems – Course materials Skip to content | Access key help Search Advanced search A–Z Contact us Computer Laboratory Computer Laboratory Teaching Courses 2015–16 Concurrent and Distributed Systems Course materials Computer Design Computer Graphics and Image Processing Computer Networking Concurrent and Distributed Systems ECAD and Architecture Practical Classes Further Java Mathematical Methods for Computer Science Programming in C and C++ Prolog Semantics of Programming Languages Software Engineering Unix Tools Compiler Construction Computation Theory Databases Logic and Proof Artificial Intelligence I Complexity Theory Concepts in Programming Languages Economics, Law and Ethics Security I Course pages 2015–16 Concurrent and Distributed Systems Syllabus Course materials Information for supervisors Lecture notes There are eight handouts available for the first part of the course (Concurrent Systems): Lecture 1: Introduction to concurrency, threads, and mutual exclusion Lecture 2: More mutual exclusion, semaphores, producer-consumer, and MRSW Lecture 3: CCR, monitors, and concurrency in practice Lecture 4: Safety and liveness Lecture 5: Concurrency without shared data; transactions Lecture 6: Further transactions Lecture 7: Crash recovery, lock-free programming, and transactional memory Lecture 8: Case study: FreeBSD kernel concurrency Corrections: An update was made to Lecture 3 to correct slide 11's example of producer-consumer via monitors. The label for the producer signalling the consumer incorrectly stated that this occurred when the buffer was full; in fact, the signal is generated (as the code example shows) when the buffer is no longer empty. There are eight handouts available for the second part of the course (Distributed Systems): Lecture 1: Introduction to distributed systems; RPC (2-up) Lecture 2: Network File System and Object-Oriented Middleware (2-up) Lecture 3: Further RPC and OOM systems; Clocks (2-up) Lecture 4: Clock synchronisation; logical clocks (2-up) Lecture 5: Consistent cuts, process groups, and mutual exclusion (2-up) Lecture 6: Elections, distributed transactions, and replication (2-up) Lecture 7: Replication in distributed systems, CAP, case studies (2-up) Lecture 8: PubSub; Security; NASD/AFS/Coda (2-up) Corrections: An update was made to Lecture 2 to correct slide 19: arguments of return values should have read arguments or return values. An update was made to Lecture 3 to clarify slide 16: in REST, "POST" is the referred create operation; "PUT" overwites an existing object (but can also be used to create); and "PATCH" is a newer operation to perform a partial update of an object "in place" on the server. Supervision material Concurrent and Distributed Systems - supervision questions 1: Semaphores, generalised producer-consumer, and priorities Concurrent and Distributed Systems - supervision questions 2: Transactions Concurrent and Distributed Systems - supervision questions 3: RPCs and time Concurrent and Distributed Systems - supervision questions 4: Transparency, RPC, distributed objects, leadership and replication Many of the ideas in concurrent systems can feel quite abstract in the absence of real-world experience; more glibly put, you can't understand a race condition without having debugged one! An introduction to concurrency primitives in Java, as well as several practical exercises, can be found here: Practical exercises: concurrency in Java Additional material No additional material has been made available yet. Last year’s course materials are still available. © 2016 Computer Laboratory, University of Cambridge Information provided by Dr Robert Watson