Skip to content

Instantly share code, notes, and snippets.

View Viacheslav77's full-sized avatar

Viacheslav77

View GitHub Profile
@Viacheslav77
Viacheslav77 / ArrayToList2
Created February 22, 2016 19:29
Написать метод, который создаст список, положит в него 10 элементов, затем удалит первые два и последний, а затем выведет результат на экран.
package ArrayToList;
import java.util.ArrayList;
/*Написать метод, который создаст список, положит в него 10
элементов, затем удалит первые два и последний, а затем выведет
результат на экран.*/
import java.util.LinkedList;
import java.util.List;
@Viacheslav77
Viacheslav77 / ArrayToList
Created February 22, 2016 18:57
Написать метод для конвертации массива строк/чисел в список.
package ArrayToList;
/*Написать метод для конвертации массива строк/чисел в список.*/
import java.util.LinkedList;
import java.util.List;
public class MyClass {
public static void main(String [] args){
@Viacheslav77
Viacheslav77 / MatrixThread
Last active February 14, 2016 18:28
Реализовать многопоточное перемножение квадратных матриц. Сравнить скорость выполнения алгоритма с однопоточным решением.
package MatrixThread;
/*Реализовать многопоточное перемножение квадратных матриц. Сравнить скорость
выполнения алгоритма с однопоточным решением.*/
public class MatrixThread extends Thread{
int [][] mA;
int [][] mB;
int [][] mRuz;
int lineNumber;
@Viacheslav77
Viacheslav77 / Account
Created February 9, 2016 20:26
Решить задачу про банк: 1. Чтобы сумма на счету оставалась не менее 100. 2. Синхронизация осуществлялась с помощью чего-нибудь из java.util.concurrent.* Не через Atomic
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/*Решить задачу про банк:
* 1. Чтобы сумма на счету оставалась не менее 100
* 2. Синхронизация осуществлялась с помощью чего-нибудь
из java.util.concurrent.* Не через Atomic */
class Account {
private int money;
@Viacheslav77
Viacheslav77 / Data
Created February 6, 2016 01:01
Написать класс, который позволит записывать текстовые данные в один файл из разных потоков. Более сложное решение: код читает и записывает несколькими потоками при этом собирает правильно фразу
package FileWriteTread;
public class Data {
static byte [] data;
int j;
public byte [] getData () {
return data;
}
@Viacheslav77
Viacheslav77 / FileWrite
Created February 5, 2016 13:46
Написать класс, который позволит записывать текстовые данные в один файл из разных потоков.
package FileWriteTread;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.RandomAccess;
public class FileWrite {
byte [] buf;
@Viacheslav77
Viacheslav77 / CopyFileThread
Created February 1, 2016 23:34
1 Написать программу копирования файла блоками (1 поток на блок). 2. Написать программу копирования файла с выводом прогресса в % на консоль.
package CopyFileThread;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class CopyFileThread {
public static void copyFile(String src, String dest) throws Exception {
@Viacheslav77
Viacheslav77 / AlotOfThread
Created February 1, 2016 17:06
1. Создать 100 потоков, каждый их которых выведет на экран свой номер и дождется, пока его прервут. 2. Создать поток, который создаст 50 потоков, каждый их которых выведет на экран свой номер и дождется, пока его прервут. Прерывание дочерних потоков должно выполнятся из потока их порождающего.
package Threads;
import java.util.ArrayList;
public class AlotOfThread extends Thread {
public void run () {
System.out.println("\n2. Создать поток, который создаст 50 потоков, каждый их которых выведет на экран свой номер и дождется,\n"
+ " пока его прервут. Прерывание дочерних потоков должно выполнятся из потока их порождающего.\n");
@Viacheslav77
Viacheslav77 / CounterTime
Created February 1, 2016 12:27
1.Модифицировать класс Counter так, чтобы он циклически выводил числа из определенного диапазона. 2. Создать поток, который будет каждые 10 секунд выводить текущее время на экран. Сделать возможность прерывания потока с помощью команды с консоли.
package Counter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class CounterTime extends Thread {
public void run() {
int x = 1;
@Viacheslav77
Viacheslav77 / Recursion 2
Created February 1, 2016 10:48
Упрощённый вариан решения задачи :)
package Recursion;
/*Написать рекурсивную ф-ю для вывода на экран всех файлов и каталогов, имя которых длиннее 5
символов и вторая буква равна ‘A’. Упрощённый вариант*/
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
public class Main2 {