]]>
]]>
IT Coders
Логин:
Пароль:
  ]]>Войти]]> ]]>Регистрация]]> ]]>Забыли?
 
 
СКОРОСТЬ ->
 
КАЧЕСТВО ->
 
УСПЕХ...
Официальный сайт компании "Белсис" Radhika - интернет-магазин специй, вегетарианских и диетических продуктов Акксессуары для iPhone, iPad, iPod touch и Samsung Galaxy :: iHave СДЕЛАНО БОГОМ - Интернет-журнал Свадебный журнал WedInMoscow Персональный web-сайт Королёвой Надежды Михайловны Официальный сайт Льва Лещенко Персональный web-сайт Богословской Оксаны Портал школы "Золотое Сечение" Кинохабар - Интернет-гипермаркет фигурок персонажей из фильмов, кино сувениров и прочего околокиношного хабара Интернет-магазин InFabrica - техника для Вас Техно Офис - Компьютерный интернет-магазин
 

Альтернативное содержимое

]]> ]]>
 
ВКонтакт Facebook Одноклассники Twitter Яндекс Livejournal Liveinternet Mail.Ru
Страницы: 1
Многопоточность Архив со старого форума компании IT Coders
Такой вопрос, господа: как мне в Java сделать такую задачу, чтобы почленное сложение 2 векторов можно было разделить на несколько потоков сразу и выполнять одновременно и засечь время.
А по-точнее можно сформулировать задачу, а то чет я не понял?? Зачем делить на потоки, если быстрее и так выполнить, все в одном?
Ну вощем надо лабу сделать: имеется 2 массива целых чисел из 1000000 элементов, нужно их все почленно сложить, при этом разбив на несколько потоков и засечь время.
Код
public class Vector implements Runnable {
    public int limit = 10000;//количество элементов в векторе
    public long iter = 10000;
    public int i_vect1[]  = new int [limit];
    public int i_vect2[]  = new int [limit];
    public int i_vect_result[] = new int[limit];
    
    Thread t;
    String name;
    public int param;
    public int num;

    public void init(){
        //заполнение вектора случайными числами
        Random r = new Random();
        for (int i = 0; i < this.limit-1 ;i++ ){
            i_vect1[i] = r.nextInt(100);
            i_vect2[i] = r.nextInt(100);
        }


    }

      Vector(String threadname, int parameter, int number){
        name = threadname;
        param = parameter;
        num = number;
        t = new Thread(this,threadname);
        //System.out.println("Вычисляется поток вектора:"+ name);
        t.start();
    } 
    

    public void t_start(int parameter, int number){
      num = number;
      param = parameter;
      t.start();
    }

    public void run(){
        init();
        final long time_start = System.currentTimeMillis();
        System.out.println("Поток № " + this.num + " по имени:"+ t.getName() +   " стартовал");
        int steep = this.limit / 10;  //делим вектор на 10 потоков
        int block_start = (this.num * steep) - 1;
        if (this.num == 0) {block_start = 0;}
        int block_end = (block_start + steep) - 1;
        for (int i = block_start; i < block_end ; i++){
             for(long j = 0; j < this.iter; j++){
                i_vect_result[i]= i_vect1[i] + i_vect2[i];
              }
        }
        final long time_stop = System.currentTimeMillis();
        long time_result = time_stop - time_start;
        System.out.println("Поток № " + this.num + " по имени:"+ t.getName() + " завершен. Время выполнения: " + time_result);
    
}

а затем вызывать в майне потоки
Код
System.out.println("Старт 10 новых потоков:");
        Vector tr81 = new Vector("10_1",10,0);
        Vector tr82 = new Vector("10_2",10,1);
        Vector tr83 = new Vector("10_3",10,2);
        Vector tr84 = new Vector("10_4",10,3);
        Vector tr85 = new Vector("10_5",10,4);
        Vector tr86 = new Vector("10_6",10,5);
        Vector tr87 = new Vector("10_7",10,6);
        Vector tr88 = new Vector("10_8",10,7);
        Vector tr89 = new Vector("10_9",10,8);
        Vector tr810 = new Vector("10_10",10,9);
        try{
            tr81.t.join();
            tr82.t.join();
            tr83.t.join();
            tr84.t.join();
            tr85.t.join();
            tr86.t.join();
            tr87.t.join();
            tr88.t.join();
            tr89.t.join();
            tr810.t.join();

        } catch (InterruptedException e){
            System.out.println("Прерывание 10 потоков");
        } 
        System.out.println("Завершение всех 10 потков пот

ну как - то так, как я понял..
ага, спс большое, идею понял, все вроде работает)
Страницы: 1
Ваша корзина пуста
]]> Расчитайте стоимость услуг ]]>
Ваша корзина пуста
]]> ]]>
]]> Вакансии компании IT Coders ]]>
]]>
 

]]>
© IT Coders, 2008 - 2024
Под управлением CMS 1c-bitrix
xvideo indian wife zeloporn.com call girls in munirka
sexy bf loading pornview.org www.desipapa..com
farm sex popsexy.net sex with stepmother
farmer sex indianpornvideos.me desi unseen.com
village auntys xnxx tubexo.info anti sex.com
tamilkamavideos youjizz.sex pornroids
perfect girl porn ruperttube.net bangla video panu
first time sex video xxxhindiporn.net kashmiri sexy girl video
xnnvideos indiansexmms.me xhamxter
love parameter 90 hentaimol.com straight shotacon hentai manga
desi sex wap xxxleap.com hot mom sex with son
reshma sex clips povporntrends.com xxnx.vidoes
indian horse sex gekso.info paksexvideo
honey moon xnxx pornindianhub.info saxy video free
xvideobhabhi freexxxporn.me www odia sexy in