• Как правильно принимать данные в потоках?

    @TicSo Автор вопроса
    Спасибо,

    Arc нужно клонировать до move в замыкание, которое запускается на потоке. Если данные используются только на чтение, то этого будет достаточно, ...

    использую на чтение, после коррекции, - получилось. Заминка - передать структуру. Как правильно применить Arc ко всем полям в случае моей структуры? Подскажите, пожалуйста.
    #[derive(Debug)]
    pub struct Data {
      pub name: String,
      pub dtime: chrono::DateTime<chrono::Local>, 
      pub id: i32,
      pub n: u32,
    }
    
    //
    
    let data = Data { name: "txt".to_string(), dtime: DateTime::parse_from_rfc3339("2023-07-10T10:20:30+03:00").unwrap().into(), id: 188, n: 5 };
    Написано
  • Как правильно принимать данные в потоках?

    @TicSo Автор вопроса
    Я обернул создание отдельного потока в функцию и так передавал в поток данные. Удобно, что такую функцию могу вынести в отдельный файл-модуль. Но не смог такое сделать динамически в цикле для группы потоков. Хочу подойти к варианту, когда поток, который закончил выполнение своего кода (раньше других), можно опять запустить из main и передать ему новую задачу (новые данные), - структуру данных, которую привёл в основном вопросе.
    Написано
  • Как правильно сложить дату-время в массив?

    @TicSo Автор вопроса
    Спасибо, всё верно.
    Написано
  • Как изменить структуру кода?

    @TicSo Автор вопроса

    можешь попробовать сделать функцию, которая будет возвращать значения переменных i и p

    Спасибо за помощь, думал есть очевидное решение, о котором просто не знаю ...

    Если переменных много, то не уверен, что в качестве аргументов функции правильно их использовать. Возможно через структуру? Но всё ли я смогу так перемещать без ущерба функционала, так как потребность и вопрос о блоках с бОльшим количеством кода. Интересно решение без накладных расходов по производительности.

    Возможно ли такое делать на уровне `vs code`?

    чтобы при сборке он перемещался обратно - так хотел избежать косяков, если дебажить.


    Но можно сделать так: macro_rules! f4 { ...

    Опыта нет. С макросами проблем и ограничений быть не должно в контексте вопроса?
    Написано