CodeGym
Promotion
CodeGym University
Learning
Courses
Tasks
Surveys & Quizzes
Games
Help
Schedule
Community
Users
Forum
Chat
Articles
Success stories
Activity
Reviews
Subscriptions
Light theme

Lessons

  • Reviews
  • About us
Start
Start learning
Start learning now
  • My Progress
  • Courses
  • University
  • Quest Map
  • Lessons
  • Bonus task | Lesson 12 | Level 5

    Java Core
    Level 5, Lesson 12
    Captain Squirrels is on the phone! He has a couple of surprises for you. More precisely, not a couple, and they aren't surprises, but rather ten tasks to reinforce your knowledge. And the truly curious can try their hand on three bonus tasks that are more difficult. In one of them, you'll encounter the template pattern. The other has you implement a factorial algorithm.
    Available
  • You've reached Level 16!

    Java Core
    Level 6, Lesson 0
    Congratulations, you've completed the fifth level of the second quest! You've learned a lot about overloading methods, the order of constructor calls, and variable initialization, and you've completed 34 tasks! On the sixth level, you'll plunge into a super important topic: threads.
    Available
  • Multithreading

    Java Core
    Level 6, Lesson 1
    Imagine the game "Space Race": you fly, dodging meteorites and patrol cruisers, surrounded by similar starships. The application must track the control commands, move the starships, calculate their trajectories and the consequences of any collision, and draw it all on the screen... How is this done? Answer: multithreading.
    Available
  • Creating and starting new threads

    Java Core
    Level 6, Lesson 2
    If you've ever wondered how to start and use a new thread, you'll find out quite soon—in this very lesson. And your teacher Rishi Gatesman will help you with this. But if it's never crossed your mind, Rishi Gatesman will explain it anyway, because now is the time.
    Available
  • Practice with threads | Level 6

    Java Core
    Level 6, Lesson 3
    Your teacher Diego has been waiting for you! He can't wait to give you a bunch of tasks on the difficult topic of threads. In this lesson, we'll reinforce our knowledge through practice, and we'll try not to be confused by threads.
    Available
  • join — waiting for a thread to end

    Java Core
    Level 6, Lesson 4
    Suppose the main thread has created a child thread to perform some task. Then at some point, the main thread needs the results of work performed by a child thread. But the child thread hasn't finished its work yet. What should the main thread do? This problem is solved by the join method. This lesson will teach you how.
    Available
  • Tasks about join

    Java Core
    Level 6, Lesson 5
    Your teacher Diego found out that you learned about the join method in the previous lesson. But he's a suspicious and distrustful robot. He's not one to just take somebody's word (as always!), so he's bombarded you with tasks. Well, what's it to you? It's not the first time. Get cracking!
    Available
  • Healthy sleep

    Java Core
    Level 6, Lesson 6
    Even programs need to sleep sometimes. And threads need it even more. To put a thread to sleep, Java has a method called sleep. It's declared as a static method of the Thread class. This means that it isn't associated with any specific object. The purpose of this method is to make the program "fall asleep" for a while. How does this work? You'll learn in the lesson!
    Available
  • Practice sleeping

    Java Core
    Level 6, Lesson 7
    Today we'll learn to make time stand still in Java programs. We'll do this using the sleep method, the local time keeper. Your teacher Diego has taken special pains to prepare some tasks for you: you'll play around with a stopwatch, create a countdown, and teach a program to find out what time it is in London.
    Available
  • Stopping threads: the unofficial version

    Java Core
    Level 6, Lesson 8
    Let's say the user tells the program to "download a file from the Internet. The main thread creates a separate child thread for this job, and passes it an object whose run method contains all the necessary actions to download the file. And then — wham — the user changes his mind about downloading the file! How do we cancel the job and stop the thread?
    Available
  • Stopping threads: the official version

    Java Core
    Level 6, Lesson 9
    This lesson will include many aggressive words like "interrupt". All because we're still studying the possibilities and peculiarities of stopping threads. We'll learn how to use the variable isInterrupt and what the isInterrupted() and interrupt() methods do.
    Available
  • Tasks about interrupt

    Java Core
    Level 6, Lesson 10
    If you've always dreamed of writing a game, then you should be very interested in threads and time manipulations. Become a master of threads! To make this happen faster, Diego has prepared five interesting tasks to help you learn about the interrupt() method.
    Available
  • 1
  • ...
  • 17
  • 18
  • 19
  • 20
  • 21
  • ...
  • 61
Learn
  • Registration
  • Java Course
  • Help with Tasks
  • Pricing
  • Java Syntax
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success Stories
  • Activity
  • Affiliate Program
Company
  • About us
  • Contacts
  • Reviews
  • Press Room
  • CodeGym for EDU
  • FAQ
  • Support
CodeGym CodeGym is an online course for learning Java programming from scratch. This course is a perfect way to master Java for beginners. It contains 1200+ tasks with instant verification and an essential scope of Java fundamentals theory. To help you succeed in education, we’ve implemented a set of motivational features: quizzes, coding projects, content about efficient learning, and a Java developer’s career.
Follow us
Interface language
English
Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
Programmers Are Made, Not Born © 2025 CodeGym
MastercardVisa
Programmers Are Made, Not Born © 2025 CodeGym