SlideShare a Scribd company logo
1 of 168
pUp3EkaP
Yarkoni
IronSource
Android Academy
Women Techmakers
~ 1500 members Largest Android Active Community
What Do We Do?
●Android Fundamentals
●Android UI / UX
●Community Hackathon
●Android Performance
●Mentors Program
Online Lessons
Important:
Watch online lesson
before the meetup!
- Our course:
“Developing Android
Apps”
goo.gl/u1pxZv
- Optional: Nano Degree
- Optional: “Android Basics” courses
The Course Plan
- Online lesson @ home
- Lecture @ Campus
- Hands-on @ Campus
- Questions @ Facebook
Yarkoni
Android Leader
Ironsource
Android Academy Staff
Yonatan Levin
Google Developer Expert &
Android @ Gett
Britt Barak
Android Leader
Figure8
Yossi Segev
Android Developer
Crave
Mentors program
Community Mentors
Refael “Hero” Ozeri
Lecture #2: Threads,
Networking & Permissions
Understanding the concept of
Multi Threading
What’s For Today?
● Logging
● Processes
● Threads
● Android Thread Abstractions
● Permissions
Logging
Definition:
A logfile is a file that records either events that occur in an
operating system or other software runs.
Logging
Definition:
A logfile is a file that records either events that occur in an
operating system or other software runs.
*.java
Log.d(“MY-APP’S-TAG”, "message");
Logging
Logging
Why is logging important?
Good Practice.
Constant monitoring.
Helps debug fast without the need for breakpoints.
In the context of this lesson: Thread awareness.
Don’t leave logs open in production.
Logging - Where can I see it?
HERE
Logging - levels
Log levels
verbose (all)
debug
info
warn
error
Great Log Wrapper
Great Log Wrapper
Code with filter !
What’s For Today?
● Logging
● Processes
● Threads
● Android Thread Abstractions
● Permissions
Reminder
Java.
Linux.
Processes
(The app)
Processes - Android Priority
If system is stressed and needs to clear memory - the process will
be killed together with its’ threads.
ProcessProcess
Processes - Android Priority
1.Foreground.
2.Visible.
3.Service.
4.Background.
5.Empty.
Processes - Android Priority
1.Foreground.
2.Visible.
3.Service.
4.Background.
5.Empty.
Processes - Android Priority
1.Foreground.
2.Visible.
3.Service.
4.Background.
5.Empty.
Processes - Android Priority
1.Foreground.
2.Visible.
3.Service.
4.Background.
5.Empty.
Processes - Android Priority
1.Foreground.
2.Visible.
3.Service.
4.Background.
5.Empty.
Processes - Android Priority
1.Foreground.
2.Visible.
3.Service.
4.Background.
5.Empty.
Processes - Android Priority
You’re most important if you are affecting the user’s experience.
You can never be lower than what you are serving.
Processes - CPU Time Split
Foreground & Visible -
90%
Service & Background & Empty -
10%
Threads
Threads
Like Linux a process is created with a single
Thread of execution.
Process
Thread A
Threads - Thread of Execution
Thread of execution.
CPU Core
Thread of execution
Thread A
Thread B
Thread C
Threads - Thread of Execution
Thread of execution.
CPU Core
Thread of execution
Thread A
Thread B
Thread C
Threads - Thread of Execution
Thread of execution.
CPU Core
Thread of execution
Thread A
Thread B
Thread C
Threads
Java & Android Threads
Moderate to large operation.
Not tied to activity lifecycle.
Reusable.
Number 1 cause of memory leak.
Threads
Java & Android Threads
Moderate to large operation.
Not tied to activity lifecycle.
Reusable.
Number 1 cause of memory leak.
I’m
Collector,
Garbage Collector
Never have a Non-Static Inner Class
Always an Inner Class be Static
Processes vs. Threads
Processes
Separate address space.
Communicate via IPC.
Threads
Share address space.
Communicate using handlers.
Processes vs. Threads
Processes
Separate address space.
Communicate via IPC.
Threads
Share address space.
Communicate using handlers.
Threads - Memory
Threading isn’t memory safe.
Thread A
Thread B
Memory
Write
Write
???
Threads - Memory
UI elements are not “Thread Safe”.
Thread A
Thread B
Button Button
Button
Create Update
Update
Start a new Thread and pass it a UI element
Manipulate UI element from off Thread
CRASH
CRASH
What is the Thread for UI elements?
Solution
Main Thread
Main Thread
UI thread responsibilities:
Dispatches events.
Draws on screen.
Handles user input.
Process
What’s On The Main Thread?
Main Thread (UI Thread)
System Event Input Event Service Application UI Drawing
Example: Action lifecycle on UI thread
User presses on a
button
UI Thread
dispatches touch
event to the
widget
Widget sets its
pressed state
Posts an
invalidate to the
request queue on
UI thread
The UI thread
dequeues the
request and
notifies widget to
redraw itself
Reminder - Blocking Action Definition
A Thread that is blocked is waiting for a completion of an operation.
Process
What’s On The Main Thread?
Main Thread (UI Thread)
System
Event
UI
Drawing
Your code!~!!!~!
16ms 16ms 16ms
UI
Drawing
UI
Drawing
16ms 16msDropped Frame
We Have A Winner!
Smooth
Motion
60
No
Difference
60+
Flip Book
12
Movies
Frames Per Second
Fluid Motion
24
+effects
Smooth
Motion
60
What happens if you delay the UI thread for
more than 16ms?
At 60Hz it takes 16.67ms to render a frame
therefore if you take up those 16.67 a frame
will be dropped.
Main Thread - 2 rules
Do not block the UI thread.
Do not access the UI toolkit from non UI thread.
Main Thread
What happens if you block the UI thread for more than 5 seconds?
Main Thread
What happens if the app is slow to respond?
Do you think users will say:
“Oh it’s my slow connection”
“I shouldn’t have scrolled so fast”
“Silly me wanting to see the whole image right when the screen opens”
We’ve established it’s the
developer’s job
to offload long operations from the
Main Thread
to an a Non UI Thread
Off Thread
Off Thread - Usages
Database operations.
Networking operations.
Long running operations.
Android has your back!
Framework Abstractions
AsyncTask
Helps get work off/on the UI thread.
HandlerThread
Dedicated thread for API callbacks.
ThreadPool
Running lots of parallel work.
AsyncTask
AsyncTask
Fit for short operations.
Fit for operations which require UI Manipulation at the end.
Unaware of activity life cycle.
Single time execution.
Serial vs. Concurrent for all AsyncTasks.
Has a state and can be cancelled.
AsyncTask
WorkerThread
doInBackground ()
onPreExecute ()
MainThread
onPostExecute ()
AsyncTask
WorkerThread
doInBackground ()
onPreExecute ()
MainThread
onProgressUpdate ()
onPostExecute ()
publishProgress()
How to Create and Start an AsyncTask
AsyncTask always returns on Main Thread
MainActivity.java
MainActivity.java
MainActivity.java
Before we go let’s see how to get back!
Activity.runOnUiThread(Runnable)
View.post(Runnable)
BroadcastReceiver
Main Thread (UI Thread)
Thread A
Thread B
HandlerThread
Reminder
Main Thread (UI Thread)
Process
System
Event
UI
Drawing
Your code!~!!!~!
16ms 16ms 16ms
UI
Drawing
UI
Drawing
16ms 16msDropped Frame
Worker Thread
We don’t want to block the main thread so we create a worker
thread.
Main Thread (UI Thread)
Thread ATask Task Complete
Worker Thread
Main Thread (UI Thread)
Thread ATask 0 Task Complete
Task 1
Task 2
Task 3
How can we create a thread capable of
handling multiple consecutive tasks?
Worker Thread - Recipe
Handler + Looper + Thread = HandlerThread
Worker Thread - Recipe
1.Create a Thread.
2.Attach a Looper to a Thread.
3.Get the Handler from the Looper.
4.Use Handler to send messages (tasks).
Handlers
Schedule task for the future.
Enqueue task for another thread.
Handlers - Methods
handler.post();
handler.postAtFrontOfQueue();
handler.postDelayed();
handler.postAtTime();
MainActivity.java
MainActivity.java
Looper
Class used to run a message loop for a thread. Threads by default do
not have a message loop associated with them; to create one, call
prepare() in the thread that is to run the loop, and then loop() to have
it process messages until the loop is stopped.
A Deeper Look
Main Thread (UI Thread)
Looper
Message queue
Handler
Handle
MSG
Send
MSG
Process
Sending a message to a Thread
Putting it all together
Threads Handlers and Looper
Handlers
Handlers
Handlers
Handlers
One more thing - Don’t forget to quit!
HandlerThread.quit();
Thread Priority
Thread Priority
THREAD_PRIORITY_LOWEST = 19
THREAD_PRIORITY_BACKGROUND = 10
THREAD_PRIORITY_LESS_FAVORABLE = +1
THREAD_PRIORITY_MORE_FAVORABLE = -1
THREAD_PRIORITY_URGENT_AUDIO = -19
Threads created on foreground inherit foreground priority = -2
Thread Priority - Higher means Lower
Why URGENT_AUDIO is the highest priority (-
19)?
Sound delay is even more noticeable than
frame skipping.
Does this mean I should handle all the
priorities of every Thread created?
Thread Pool Executor
Thread Pool executor
Handles Spinning.
Handles Load Balancing.
Handles killing Threads when they are idle.
Thread Pool executor
BlockingQueue
Thread A
Thread B
Thread C
ThreadPool
Thread Pool executor
BlockingQueue
Thread A
Thread B
Thread C
ThreadPool
Thread Pool executor
BlockingQueue
Thread A
Thread B
Thread C
ThreadPool
Thread Pool executor
BlockingQueue
Thread A
Thread B
Thread C
ThreadPool
Thread Pool executor
BlockingQueue
Thread A
Thread B
Thread C
ThreadPool
Thread Pool executor
BlockingQueue
Thread A
Thread B
Thread C
ThreadPool
Thread Pool executor
BlockingQueue
Thread A
Thread B
Thread C
ThreadPool
Thread Pool executor
BlockingQueue
Thread A
Thread C
ThreadPool
Thread Pool Executor
How many threads is a good number of threads?
So if I want to get more work done I should
create more threads.
By induction: Infinite Threads!
Thread Pool executor
Adjust to number of cores.
64kb per thread.
ThreadPool Implementation
Passing a Task to the ThreadPool
IntentService
Example
Intent
-?-
Hard work
Intent Hard work
Intent Hard work
IntentService
Extends Service.
Is killed by System when queue is empty.
Can’t be interrupted.
Systrace
What’s For Today?
● Logging
● Processes
● Threads
● Android Thread Abstractions
● Permissions
Content
It’s everything the user sees and interacts.
Where can we get content?
Static content.
Locally on the phone.
Remote server.
Content
It’s everything the user sees and interacts.
Where can we get content?
Static content.
Locally on the phone.
Remote server.
Top apps examples: FB, SnapChat, Instagram.
Reminder
Database operations.
Networking operations.
Long running operations.
Reminder
Database operations.
Networking operations.
Long running operations.
Networking requests
Require the following permission:
Cannot be done on the MainThread:
Permissions
Permissions
Android is a privilege-separated operating system, in which each
application runs with a distinct system identity (Linux user ID and
group ID). Parts of the system are also separated into distinct
identities. Linux thereby isolates applications from each other and
from the system.
Androidmanifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<!-- external storage for saving downloaded files -->
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- for performing installing/uninstalling apps -->
<uses-permission
android:name="android.permission.INSTALL_PACKAGES"/>
Permissions - Level
Protection level
Normal - (flashlight, internet, NFC)
Dangerous - (Read / write external storage)
Signature - (defined per use case)
SigantureOrSystem - (Install 3rd party applications)
Application defined permission.
Permissions - Normal vs. Dangerous
Normal: Bluetooth, Internet, NFC.
Dangerous: read/write external storage, contacts, location.
What is the key difference?
Permissions - Android 6.0
TargetSDKVersion
If you wrote 24 you will crash if not handled.
If you wrote <24 you will be spared.
Permissions - Android 6.0
Still define permissions in AndroidManifest.xml
protectionLevel = normal are granted by default.
protectionLevel = Dangerous require you
ask at runtime.
Request 1 time without consequence.
Permissions - Android 6.0
Still define permissions in AndroidManifest.xml
protectionLevel = normal are granted by default.
protectionLevel = Dangerous require you
ask at runtime.
Request 1 time without consequence.
Permissions - Vertical & Horizontal views
Auditing vertically/Horizontally.
MainActivity.xml
MainActivity.xml
Network Requests
(Connecting to the Cloud)
Network requests
Android include many network programming classes.
java.net (socket, URL, etc.)
org.apache (HttpRequest, HttpResponse, etc.)
android.net (AndroidHTTPClient, URI, AudioStream, etc.)
Network requests
Under the hood Android’s HTTP libraries use java socket API.
Socket definition: a software endpoint that can create a bi-directional
communication link between software processes.
Socket SocketTCP/IP
Network requests - InputStream
Network requests - InputStreamReader
Network requests - BufferedStreamReader
Network requests - HttpURLConnection
What is the connection?
build.gradle
build.gradle
MainActivity.java
Homework:
1.Go over AsyncTask, IntentServices,
Handlers, Threads code.
2.Watch “Create New Activities and
Navigate Apps with Intents”
3.Start developing Sunshine.
34th floor
Drive home safe
See you next Sunday!

More Related Content

Similar to Lecture #2 threading, networking &amp; permissions final version #2

Android Connecting to internet Part 2
Android  Connecting to internet Part 2Android  Connecting to internet Part 2
Android Connecting to internet Part 2Paramvir Singh
 
Node.js: A Guided Tour
Node.js: A Guided TourNode.js: A Guided Tour
Node.js: A Guided Tourcacois
 
OOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptxOOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptxArulmozhivarman8
 
Multithreading 101
Multithreading 101Multithreading 101
Multithreading 101Tim Penhey
 
Concurrency in java
Concurrency in javaConcurrency in java
Concurrency in javaSaquib Sajid
 
Phase 1 Software Progress ReportCard Czar Android AppCMS.docx
Phase 1 Software Progress ReportCard Czar Android AppCMS.docxPhase 1 Software Progress ReportCard Czar Android AppCMS.docx
Phase 1 Software Progress ReportCard Czar Android AppCMS.docxrandymartin91030
 
Background threads, async communication and vaadin
Background threads, async communication and vaadinBackground threads, async communication and vaadin
Background threads, async communication and vaadinPetter Holmström
 
High Performance NodeJS
High Performance NodeJSHigh Performance NodeJS
High Performance NodeJSDicoding
 
Multithreading and concurrency in android
Multithreading and concurrency in androidMultithreading and concurrency in android
Multithreading and concurrency in androidRakesh Jha
 
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...Sagar Verma
 
Easy way to learn Core java full material
Easy way to learn Core java full materialEasy way to learn Core java full material
Easy way to learn Core java full materialSivannarayana Chimata
 
mobile development with androiddfdgdfhdgfdhf.pptx
mobile development with androiddfdgdfhdgfdhf.pptxmobile development with androiddfdgdfhdgfdhf.pptx
mobile development with androiddfdgdfhdgfdhf.pptxNgLQun
 
Slot02 concurrency1
Slot02 concurrency1Slot02 concurrency1
Slot02 concurrency1Viên Mai
 

Similar to Lecture #2 threading, networking &amp; permissions final version #2 (20)

Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Android Connecting to internet Part 2
Android  Connecting to internet Part 2Android  Connecting to internet Part 2
Android Connecting to internet Part 2
 
Node.js: A Guided Tour
Node.js: A Guided TourNode.js: A Guided Tour
Node.js: A Guided Tour
 
Basic java part_ii
Basic java part_iiBasic java part_ii
Basic java part_ii
 
OOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptxOOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptx
 
Multithreading 101
Multithreading 101Multithreading 101
Multithreading 101
 
Thread
ThreadThread
Thread
 
Concurrency in java
Concurrency in javaConcurrency in java
Concurrency in java
 
Phase 1 Software Progress ReportCard Czar Android AppCMS.docx
Phase 1 Software Progress ReportCard Czar Android AppCMS.docxPhase 1 Software Progress ReportCard Czar Android AppCMS.docx
Phase 1 Software Progress ReportCard Czar Android AppCMS.docx
 
Background threads, async communication and vaadin
Background threads, async communication and vaadinBackground threads, async communication and vaadin
Background threads, async communication and vaadin
 
Threading in C#
Threading in C#Threading in C#
Threading in C#
 
High Performance NodeJS
High Performance NodeJSHigh Performance NodeJS
High Performance NodeJS
 
Multithreading and concurrency in android
Multithreading and concurrency in androidMultithreading and concurrency in android
Multithreading and concurrency in android
 
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
 
J threads-pdf
J threads-pdfJ threads-pdf
J threads-pdf
 
Java Threads
Java ThreadsJava Threads
Java Threads
 
Easy way to learn Core java full material
Easy way to learn Core java full materialEasy way to learn Core java full material
Easy way to learn Core java full material
 
Corejava ratan
Corejava ratanCorejava ratan
Corejava ratan
 
mobile development with androiddfdgdfhdgfdhf.pptx
mobile development with androiddfdgdfhdgfdhf.pptxmobile development with androiddfdgdfhdgfdhf.pptx
mobile development with androiddfdgdfhdgfdhf.pptx
 
Slot02 concurrency1
Slot02 concurrency1Slot02 concurrency1
Slot02 concurrency1
 

More from Vitali Pekelis

Droidkaigi2019thagikura 190208135940
Droidkaigi2019thagikura 190208135940Droidkaigi2019thagikura 190208135940
Droidkaigi2019thagikura 190208135940Vitali Pekelis
 
Google i o &amp; android q changes 2019
Google i o &amp; android q changes 2019Google i o &amp; android q changes 2019
Google i o &amp; android q changes 2019Vitali Pekelis
 
Advanced #6 clean architecture
Advanced #6  clean architectureAdvanced #6  clean architecture
Advanced #6 clean architectureVitali Pekelis
 
Advanced #4 GPU & Animations
Advanced #4   GPU & AnimationsAdvanced #4   GPU & Animations
Advanced #4 GPU & AnimationsVitali Pekelis
 
Advanced #2 networking
Advanced #2   networkingAdvanced #2   networking
Advanced #2 networkingVitali Pekelis
 
Advanced #1 cpu, memory
Advanced #1   cpu, memoryAdvanced #1   cpu, memory
Advanced #1 cpu, memoryVitali Pekelis
 
All the support you need. Support libs in Android
All the support you need. Support libs in AndroidAll the support you need. Support libs in Android
All the support you need. Support libs in AndroidVitali Pekelis
 
How to build Sdk? Best practices
How to build Sdk? Best practicesHow to build Sdk? Best practices
How to build Sdk? Best practicesVitali Pekelis
 
Android design patterns
Android design patternsAndroid design patterns
Android design patternsVitali Pekelis
 
Advanced #3 threading
Advanced #3  threading Advanced #3  threading
Advanced #3 threading Vitali Pekelis
 
Mobile ui fruit or delicious sweets
Mobile ui  fruit or delicious sweetsMobile ui  fruit or delicious sweets
Mobile ui fruit or delicious sweetsVitali Pekelis
 
Lecture #4 c loaders and co.
Lecture #4 c   loaders and co.Lecture #4 c   loaders and co.
Lecture #4 c loaders and co.Vitali Pekelis
 
Session #4 b content providers
Session #4 b  content providersSession #4 b  content providers
Session #4 b content providersVitali Pekelis
 
Advanced #2 - ui perf
 Advanced #2 - ui perf Advanced #2 - ui perf
Advanced #2 - ui perfVitali Pekelis
 
Android design lecture #3
Android design   lecture #3Android design   lecture #3
Android design lecture #3Vitali Pekelis
 

More from Vitali Pekelis (20)

Droidkaigi2019thagikura 190208135940
Droidkaigi2019thagikura 190208135940Droidkaigi2019thagikura 190208135940
Droidkaigi2019thagikura 190208135940
 
Droidkaigi 2019
Droidkaigi 2019Droidkaigi 2019
Droidkaigi 2019
 
Google i o &amp; android q changes 2019
Google i o &amp; android q changes 2019Google i o &amp; android q changes 2019
Google i o &amp; android q changes 2019
 
Android Q 2019
Android Q 2019Android Q 2019
Android Q 2019
 
Advanced #6 clean architecture
Advanced #6  clean architectureAdvanced #6  clean architecture
Advanced #6 clean architecture
 
Advanced #4 GPU & Animations
Advanced #4   GPU & AnimationsAdvanced #4   GPU & Animations
Advanced #4 GPU & Animations
 
Advanced #2 networking
Advanced #2   networkingAdvanced #2   networking
Advanced #2 networking
 
Advanced #2 threading
Advanced #2   threadingAdvanced #2   threading
Advanced #2 threading
 
Advanced #1 cpu, memory
Advanced #1   cpu, memoryAdvanced #1   cpu, memory
Advanced #1 cpu, memory
 
All the support you need. Support libs in Android
All the support you need. Support libs in AndroidAll the support you need. Support libs in Android
All the support you need. Support libs in Android
 
How to build Sdk? Best practices
How to build Sdk? Best practicesHow to build Sdk? Best practices
How to build Sdk? Best practices
 
Di &amp; dagger
Di &amp; daggerDi &amp; dagger
Di &amp; dagger
 
Android design patterns
Android design patternsAndroid design patterns
Android design patterns
 
Advanced #3 threading
Advanced #3  threading Advanced #3  threading
Advanced #3 threading
 
Mobile ui fruit or delicious sweets
Mobile ui  fruit or delicious sweetsMobile ui  fruit or delicious sweets
Mobile ui fruit or delicious sweets
 
Lecture #4 c loaders and co.
Lecture #4 c   loaders and co.Lecture #4 c   loaders and co.
Lecture #4 c loaders and co.
 
Session #4 b content providers
Session #4 b  content providersSession #4 b  content providers
Session #4 b content providers
 
Advanced #2 - ui perf
 Advanced #2 - ui perf Advanced #2 - ui perf
Advanced #2 - ui perf
 
Android meetup
Android meetupAndroid meetup
Android meetup
 
Android design lecture #3
Android design   lecture #3Android design   lecture #3
Android design lecture #3
 

Recently uploaded

SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 

Recently uploaded (20)

SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 

Lecture #2 threading, networking &amp; permissions final version #2