Can anybody help explain, in simple terms, what it is I need to be looking at?
What are the two tasks that you want to run simultaneously? Do you really need simultaneity, or is concurrently more apropos to your situation? As Harald said in his post #2, you need multiple processors or cores to execute two or more tasks simultaneously. One core, programmed to time-share, can run two or more tasks concurrently. Please explain what you are trying to DO.
A computer is a deterministic machine that rapidly executes, one at a time, a series of sequential instructions to perform a task. Programming is the procedure you use to create the series of sequential instructions. If a computer is designed with more than one core processor, appropriate programming can cause each core to execute instructions independently of the all other cores, as well as simultaneously with the other cores. Independent operation of two or more cores is hardly, if ever, done because generally multiple cores are programmed to operate cooperatively to accomplish an overall task more quickly than a single core operating alone. Coordinating the operation of multiple cores and distributing the task execution load evenly among them is a non-trivial programming task.
An alternative to multiple cores is sharing the time used by a single processor core. Here, programming allows multiple tasks to execute in a pre-determined sequence as determined by the programmer. Each task is allowed a certain amount of time to either execute or run until blocked. When the allotted time expires, or the task becomes blocked, the next task is allowed to execute. A special program, called a task scheduler, determines the order of task execution. Clearly, the task scheduler must run concurrently with the scheduled tasks. That means there must always be a mechanism that interrupts each executing task to allow the task scheduler to run. There are many ways to accomplish this, but a hardware timer that interrupts the processor periodically is about as simple as it gets.
A task is said to be "blocked" when it can no longer accomplish anything because it is waiting for something else to happen. Computers are very fast at executing programmed instructions, so to allow a task to simply sit idle in a "wait loop" while it waits for something else to happen is not to be allowed. As soon as a task is blocked, the task scheduler must interrupt the blocked task and allow another task to execute, even if the allotted time for the blocked task has not yet expired.
All of the processing required to launch tasks and arbitrate their execution is overhead, time that is not spent executing task instructions. To minimize overhead, and relieve the burden on programmers, operating systems (OS) were created. That is where you should begin your investigation of how to get two tasks to run "simultaneously". Study the Application Programming Interface (API) for the OS of your choice to see how to launch two tasks that the OS will schedule to run either simultaneously or concurrently, depending on what kind of hardware the OS is running on.
You appear to be ill-prepared to solve your "problem" of how to get two tasks to run simultaneously. If you are "new to programming, and don't understand how programming works," trying to accomplish two tasks simultaneously will probably be impossible, unless you choose to use two computers, dedicating each task to a specific computer. There is nothing wrong with that idea, because computers are becoming cheap as dirt, but generally there is more to the problem than just "getting two tasks to run simultaneously." Almost always, the tasks need to communicate with each other and with the real world to accomplish an overall goal. And that, again, is not a trivial programming exercise.
So, again, we ask you: What are you really trying to DO, so we can better advise you on HOW to do it? On what kind of computer, or computers, will the two tasks execute? What operating system, if any, will be used? What is the program development environment? What programming language will you use? And what, exactly, did you learn in your first two years at university that is in any way applicable to solving your problem?