함수를 특정 시간 동안 실행 한 다음 실행을 일시 중지하고 다른 함수로 이동하는 방법이 있습니까? 나는 멀티 태스킹 할 수있는 프로그램을 만들 수 있기를 원한다. 나는 이미 <thread>
을 사용해 보았지만 프로그램을 실행하려고 할 때마다 스레드 중 하나를 부분적으로 실행 한 다음 디버거가 "신호 SIGABRT"를 발생시키고 중지합니다. 이 일을하는 다른 방법이 있습니까?제한 함수 실행 시간
편집 : 여기
내가 가진 스레드를 사용하여 시도 코드입니다. 이 두 가지 기능을 동시에 사용하려고 시도한 다음 실행을 일시 중지하기 위해 타이머를 추가하기 위해 테스트로 만들었습니다. 짧은 시간에 하나의 스레드를 실행 한 다음 다른 스레드로 이동하고 계속 수행 할 수 있기를 원합니다.
#include <iostream>
#include <thread>
using namespace std;
void task1()
{
for (int i=0; i<100; i++)
{
cout << i << '\n';
}
}
void task2()
{
for (int i=0; i<100; i++)
{
cout << i << '\n';
}
}
int main()
{
thread t1(task1);
thread t2(task2);
return 0;
}
이미 무엇을 사용 했습니까? – sjdowling
게시물이 편집되도록 게시물을 편집했습니다. – killer13666
스레드 코드를 알려주세요. –