Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level16.lesson05.task01;
- import java.util.ArrayList;
- import java.util.List;
- /* join
- Подумайте, в каком месте и для какого объекта нужно вызвать метод join,
- чтобы результат выводился по-порядку
- сначала для firstThread,
- а потом для secondThread.
- Вызовите метод join в нужном месте.
- Пример вывода:
- firstThread : String 1
- firstThread : String 2
- ...
- firstThread : String 19
- firstThread : String 20
- secondThread : String 1
- ...
- secondThread : String 20
- */
- public class Solution {
- public static void main(String[] args) throws InterruptedException {
- PrintListThread firstThread = new PrintListThread("firstThread");
- PrintListThread secondThread = new PrintListThread("secondThread");
- firstThread.start();
- firstThread.join();//second thread can't .start() until firstThread dies
- secondThread.start();
- }
- /*---------------------PrintListThread*/
- public static class PrintListThread extends Thread {
- public PrintListThread(String name) {
- super(name);
- }
- public void run() {
- printList(getList(20), getName());
- }
- }
- /*-------------------------------------------------*/
- public static void printList(List<String> list, String threadName) {
- for (String item : list) {
- System.out.println(String.format("%s : %s", threadName, item));
- }
- }
- /*-----------------------------------------------------------------*/
- public static List<String> getList(int n) {
- List<String> result = new ArrayList<String>();
- if (n < 1) return result;
- for (int i = 0; i < n; i++) {
- result.add(String.format("String %d", (i + 1)));
- }
- return result;
- }
- /*----------------------------------------------------------------*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement